ruby-on-rails - 循环中运行延迟的作业

ruby-on-rails - 循环中运行延迟的作业,第1张

我正在尝试延迟功能。延迟将在循环中开始:

try

如果循环运行两次,这会混淆数据吗?有什么方法可以纠正吗?我们也可以在一次循环后做任何睡眠吗?

最佳答案:

1 个答案:

答案 0 :(得分:1)

延迟作业在后台运行一个轮询守护程序,定期轮询作业表以获取新作业。

如果您只运行一名DJ工作人员,则所有延迟任务将按顺序处理,并且不存在竞争条件的可能性。

如果您运行多个工作人员,那么您需要考虑竞争条件并防止“混合数据”(我认为这是“混淆数据”的意思)。

所以是的,如果你经营多个DJ工作人员,那么运行多个延迟的工作有可能“混合数据”。

请参阅此处以获取更详细的解释:
http://ternarylabs.com/2012/04/16/handle-job-queue-workers-concurrency-in-rails/

启动作业时休眠对作业队列发生的情况几乎没有影响。一般来说,你不想睡觉,因为它除了延迟你的Rails应用程序的用户界面之外什么都不做。

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复