延迟工作的工人需要跑步工作

时间:2014-07-30 08:06:56

标签: ruby-on-rails ruby multithreading ruby-on-rails-4 delayed-job

我的环境:CentOS,Rails 4,Ruby 2。

我在延迟作业无限循环中运行,从另一个站点获取实时信息。

任务是同时运行许多进程以从不同站点获取信息。对于每个新进程,我通过运行search_engine.delay.track!将其添加到DJ队列。

因此,当我运行一个工作程序时,它成功地从队列中获取第一个作业,然后在下一个作业完成时。当我按./bin/delayed_job -n5 start运行多个工作人员时,每个DJ工作人员排队等待第一份工作并开始track!。但我希望他们只接受其他工人没有接受过的工作。

1 个答案:

答案 0 :(得分:0)

这是因为Delayed::Worker.max_run_time = 0。 DJ认为,这项工作已经完成并再次运行。