2010-07-20 29 views
2

如果我需要在延迟工作中创建循环任务,那么干净的解决方案是什么?我有一个导入任务,我想每5分钟运行一次,但我不想启动rails/rake以便告诉它创建可以接受的延迟作业。如果Rails已经在系统上运行,那么也许我可以创建一个HTTP请求,让轨道应用程序从DJ中启动?我可以将该cron任务放入每5分钟运行一次的ruby脚本中,向服务器发出请求,但不会触发导轨。你怎么看?Delajed Jobs中的重复性任务没有启动Rails?

回答

1

的delayed_job的这个分支已经复发建权(也有可能是做同样的其他叉):

http://github.com/andrewroth/delayed_job

+0

这实际上正是我所需要的。我可以使用Whenever在启动时加载DJ,然后在我需要它们时运行。 – tesserakt 2010-07-20 15:43:04

0

cron的方法似乎仍然很干净。它只需要运行一个rake调用,而不是一个完整的Rails服务器。 Rake不需要Rails来运行。

但是,如果你真的不喜欢这种方法,那么你可以安排的重复性作业到正在处理的run_at时间设定在未来的5分钟(或其他),当他们重新排队本身。显然,你需要黄金队列中的第一次,并确保delayed_job服务器保持运行

0

关于...我有同样的愿望, 我打算有的cron在我的网站火起来,在一个特定的路线卷曲要求每隔5分钟,所以它运行行动与结果,我会很确定它只运行一次。

我的目的包括:颁发徽章和编写一些平均值