计划的动态Resque计划程序永远不会启动工作程序

rii*_*rii 1 ruby ruby-on-rails resque resque-scheduler

使用resque-scheduler根据用户的输入set_schedule动态cron作业时,似乎设置了计划,但工作人员实际上从未按设定的计划启动.

在Resque配置中,dynamic设置为true,如下所示:Resque :: Scheduler.dynamic = true我正在设置如下调度:

  name = business.name + '_employee_import'
  config = {}
  config[:class] = 'ImporterWorker'
  config[:args] = business.id.to_s
  config[:cron] = cron_converter
  config[:persist] = true
  Resque.set_schedule(name, config) 
Run Code Online (Sandbox Code Playgroud)

如果我在命令行中执行:

  Resque.get_schedule("business_employee_import") 
Run Code Online (Sandbox Code Playgroud)

我明白了:

  {"class"=>"MyWorker", "args"=>"87", "cron"=>"19 18 * * * *"}
Run Code Online (Sandbox Code Playgroud)

但到了下午6点19分,工人才开始.我有一个工人正在运行,但工作永远不会被接收,我不知道为什么或如何排除故障.在我看来这应该工作.我也尝试将resque-scheduler更新到最新版本,但没有运气.

感谢您提供的任何帮助.

qui*_*cls 5

您可能忘记在DYNAMIC_SCHEDULE环境变量设置为的情况下启动调度程序true.

这是我用来启动调度程序的命令:

DYNAMIC_SCHEDULE=true rake resque:scheduler
Run Code Online (Sandbox Code Playgroud)

自述文件引用:

DYNAMIC_SCHEDULE - 如果非空,则启用动态调度(默认为false)