我正在尝试延迟功能。延迟将在循环中开始:
try
如果循环运行两次,这会混淆数据吗?有什么方法可以纠正吗?我们也可以在一次循环后做任何睡眠吗?
答案 0 :(得分:1)
延迟作业在后台运行一个轮询守护程序,定期轮询作业表以获取新作业。
如果您只运行一名DJ工作人员,则所有延迟任务将按顺序处理,并且不存在竞争条件的可能性。
如果您运行多个工作人员,那么您需要考虑竞争条件并防止“混合数据”(我认为这是“混淆数据”的意思)。
所以是的,如果你经营多个DJ工作人员,那么运行多个延迟的工作有可能“混合数据”。
请参阅此处以获取更详细的解释:
http://ternarylabs.com/2012/04/16/handle-job-queue-workers-concurrency-in-rails/
启动作业时休眠对作业队列发生的情况几乎没有影响。一般来说,你不想睡觉,因为它除了延迟你的Rails应用程序的用户界面之外什么都不做。