Ruby on rails 延迟工作的工人接受正在运行的工作
我的环境:CentOS、Rails 4、Ruby 2 我运行在延迟作业无限循环中,从另一个站点获取实时信息 任务是同时运行多个进程以从不同站点获取信息。对于每个新进程,我通过运行Ruby on rails 延迟工作的工人接受正在运行的工作,ruby-on-rails,ruby,multithreading,ruby-on-rails-4,delayed-job,Ruby On Rails,Ruby,Multithreading,Ruby On Rails 4,Delayed Job,我的环境:CentOS、Rails 4、Ruby 2 我运行在延迟作业无限循环中,从另一个站点获取实时信息 任务是同时运行多个进程以从不同站点获取信息。对于每个新进程,我通过运行search\u engine.delay.track将其添加到DJ队列中 所以,当我运行一个worker时,它会成功地从队列中获取第一个作业,而当作业完成时,它将获取下一个作业。当我通过/bin/delayed_job-n5 start运行多个worker时每个DJ worker都会接受队列中的第一个作业并开始跟踪它。
search\u engine.delay.track将其添加到DJ队列中代码>
所以,当我运行一个worker时,它会成功地从队列中获取第一个作业,而当作业完成时,它将获取下一个作业。当我通过/bin/delayed_job-n5 start运行多个worker时
每个DJ worker都会接受队列中的第一个作业并开始跟踪代码>它。但我希望他们只做其他工人没有做过的工作。这是因为Delayed::Worker.max\u run\u time=0
。DJ认为,这项工作已经完成,并再次运行 似乎是重复的:Thanx。你是对的。我找不到它。