Skip to content

SolidQueue Process Not Starting: bin/rails solid_queue:start fails #696

@papebarka

Description

@papebarka

Hi,

I've been getting some errors with SolidQueue lately in development and production environments.

I added the gem later in the project and configure as specifed in the doc (README). Whenever I run the command: bin/rails solid_queue:start, I get the error: NoMethodError: undefined method `new' for an instance of JSON (NoMethodError).

The same issue arises when I run bin/rails.

I am running on Ruby 8 and Rails 8.0.4

See below the steps and output

:~/development$ bin/rails solid_queue:start --trace
** Invoke solid_queue:start (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute solid_queue:start
bin/rails aborted!
NoMethodError: undefined method `new' for an instance of JSON (NoMethodError)

            return @object_class.new
                                ^^^^
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/coders/column_serializer.rb:32:in `load'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/coders/yaml_column.rb:89:in `check_arity_of_constructor'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/coders/column_serializer.rb:13:in `initialize'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/coders/yaml_column.rb:60:in `initialize'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/store.rb:270:in `new'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/store.rb:270:in `initialize'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/store.rb:108:in `new'
/home/deva/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/store.rb:108:in `store'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/app/models/solid_queue/process.rb:9:in `<class:Process>'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/app/models/solid_queue/process.rb:3:in `<main>'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/bootsnap-1.20.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/zeitwerk-2.7.4/lib/zeitwerk/core_ext/kernel.rb:26:in `require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/processes/registrable.rb:22:in `block in register'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/execution_wrapper.rb:91:in `wrap'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/app_executor.rb:7:in `wrap_in_app_executor'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/processes/registrable.rb:21:in `register'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:361:in `block in make_lambda'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:207:in `call'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:563:in `block in invoke_after'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:563:in `each'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:563:in `invoke_after'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:110:in `run_callbacks'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/supervisor.rb:51:in `block in boot'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/notifications.rb:210:in `block in instrument'
/home/papebarka/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/notifications.rb:210:in `instrument'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue.rb:73:in `instrument'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/supervisor.rb:50:in `boot'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/supervisor.rb:32:in `start'
<internal:kernel>:90:in `tap'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/supervisor.rb:16:in `start'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/solid_queue-1.2.4/lib/solid_queue/tasks.rb:9:in `block (2 levels) in <main>'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:281:in `block in execute'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:281:in `each'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:281:in `execute'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:199:in `synchronize'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:188:in `invoke'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:188:in `invoke_task'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `each'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `block in top_level'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:147:in `run_with_threads'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:132:in `top_level'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:214:in `standard_exception_handling'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands/rake/rake_command.rb:27:in `block in perform'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/rake-13.3.1/lib/rake/rake_module.rb:59:in `with_application'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands/rake/rake_command.rb:41:in `with_rake'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/command.rb:150:in `invoke_rake'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/command.rb:67:in `block in invoke'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/command.rb:143:in `with_argv'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/command.rb:63:in `invoke'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-8.0.4/lib/rails/commands.rb:18:in `<main>'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
/home/dev/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/bootsnap-1.20.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => solid_queue:start

Errors I get from the development log when I start the server:

SolidQueue-1.2.4 Started Supervisor (6.3ms) pid: 28034, hostname: "LAPTOP-2L1R281R", process_id: nil, name: "supervisor-f7a86c4bacd160e19ef0"

Here is the content of queue.yml:

`

default: &default
  dispatchers:
    - polling_interval: 1
      batch_size: 500
  workers:
    - queues: "*"
      threads: 3
      processes: <%= ENV.fetch("JOB_CONCURRENCY", 1) %>
      polling_interval: 0.1

development:
  <<: *default
  database: strtup_development

test:
  <<: *default

production:
  <<: *default

`

The related configuration in develoment environment:

config.active_job.queue_adapter = :solid_queue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions