Max*_*hen 3 rufus-scheduler ruby-on-rails-5.2 sidekiq-cron
我正在使用 Ruby on Rails 5.2.0 开发系统,我需要每 2 分钟运行一次作业。我sidekiq用于后台处理和sidekiq-cron调度作业。
我在 rails 控制台中执行以下行:
job=Sidekiq::Cron::Job.new( name: 'TestWorker_Job', cron: '*/2 * * * *', klass: 'PriceWorker')
Run Code Online (Sandbox Code Playgroud)
这就是答案
=> #<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">
Run Code Online (Sandbox Code Playgroud)
但它给我一个错误:
job.errors
=> ["'cron' -> */2 * * * *: uninitialized constant Rufus::Scheduler::CronLine"]
Run Code Online (Sandbox Code Playgroud)
没有有效的工作。我不知道我做错了什么。Sidekiq-cron github 页面做同样的事情。
sidekiq-cron 没有针对正确版本的 rufus-scheduler。要使其再次工作,请将其添加到您的Gemfile:
gem 'rufus-scheduler', '~> 3.4.0'
Run Code Online (Sandbox Code Playgroud)
然后运行$ bundle install rufus-scheduler。
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |