Resque和Resque调度器并行工作



我有两个不同队列的resque和resque调度程序工作程序,
他们做同样的任务,获取某个网站的链接并保存这些链接
如果resque调度器和resque工作人员并行工作并执行相同的任务(获取同一网站的链接),会发生什么
我该如何处理这种情况?

要么您没有澄清您的设置,要么存在一些大问题。Resque和Resque调度程序本应一起运行。Resue调度程序应该只安排将来的任务。此类任务仍由Resque工作人员执行。请阅读github主页上的这一部分:https://github.com/resque/resque-scheduler#delayed-工作。引用他们的话,

这将存储作业。。。在的resque延迟队列中调度程序进程将在什么时间从延迟队列中提取它并将其放入给定作业的适当工作队列中一旦有工人可用(就像其他工人一样resque作业)。

所以,给你。永远让你的员工和调度人员一起工作。为了回答问题的另一部分,如果您通过调度器调度某个任务,并且同一任务也在排队等待resque直接获取,则最终结果取决于任务执行逻辑。"从网站上获取东西"听起来两次都无害。但是,如果您更新一些交易表,以便根据提取结果向供应商付款,那么您将陷入困境。

最新更新