Sidekiq::Cron::Job выдает мне неинициализированную константу Rufus::Scheduler::CronLine error
Я использую Ruby on Rails 5.2.0 для разработки системы, и мне нужно запускать задание каждые 2 минуты. я использую sidekiq
для фоновой обработки и sidekiq-cron
для планирования работы.
Я выполняю следующую строку в консоли rails:
job=Sidekiq::Cron::Job.new( name: 'TestWorker_Job', cron: '*/2 * * * *', klass: 'PriceWorker')
И это ответ
=> #<Sidekiq::Cron::Job:0x000055b6d54707e8
@active_job=false,
@active_job_queue_name_delimiter=nil,
@active_job_queue_name_prefix=nil,
@args=[],
@cron="*/2 * * * *",
@fetch_missing_args=true,
@klass="PriceWorker",
@last_enqueue_time=nil,
@message={"retry"=>false, "queue"=>"default", "class"=>"PriceWorker", "args"=>[]},
@name="TestWorker_Job",
@queue="default",
@queue_name_with_prefix="default",
@status="enabled">
Но это выдает мне ошибку:
job.errors
=> ["'cron' -> */2 * * * *: uninitialized constant Rufus::Scheduler::CronLine"]
Там нет действительной работы. Я не знаю, что я делаю неправильно. Страница Sidekiq-cron github делает то же самое.
1 ответ
sidekiq-cron не нацелен на правильную версию rufus-scheduler. Чтобы это снова заработало, добавьте это в свой Gemfile
:
gem 'rufus-scheduler', '~> 3.4.0'
Тогда беги $ bundle install rufus-scheduler
,