8

我现在正在尝试delayed_job,并且有一些问题。

http://github.com/collectiveidea/delayed_job页面,我可以看到一些信息:

工作人员可以在任何计算机上运行,​​只要他们可以访问数据库并且他们的时钟是同步的。请记住,每个工作人员至少每 5 秒检查一次数据库。

  1. 当我调用rake jobs:work一次时,它会创建一个工人,对吗?

  2. 当工作人员检查数据库时,它将每次读取所有的和失败的任务并运行它们?

  3. 它说工作人员将每 5 秒检查一次数据库,我可以让它 2 秒吗?

  4. 当我创建一个worker( rake jobs:work)时,数据库中已经有10个任务,每个任务需要3s。DelayedJob 会创建多少个进程?总共需要多少秒?

4

1 回答 1

13
  1. 是的
  2. 是的
  3. Delayed::Worker.sleep_delay = 2
  4. 一名工人将轮流完成每项任务,通过或失败,然后再进行下一项。总共 30 秒 + 总时间长 9 次睡眠延迟(默认情况下为 45 秒)。我不确定如何回答您关于流程的问题。创建了1个worker,这是一个进程。根据要运行的作业是什么,可能会创建零个或多个其他进程。
于 2010-07-11T07:32:32.697 回答