如果我需要在延迟的工作中创建重复任务,什么是干净的解决方案?我有一个导入任务,我想每 5 分钟运行一次,但我不想启动 rails/rake 来告诉它创建一个可以获取的延迟作业。如果 Rails 已经在系统上运行,也许我可以创建一个 HTTP 请求,让 Rails 应用程序触发 DJ?我可以将该 cron 任务放在一个每 5 分钟运行一次的 ruby 脚本中,向服务器发出请求,但不会启动 rails。你怎么看?
问问题
1134 次
3 回答
1
delay_job 的这个 fork 已经内置了重复(并且可能有其他 fork 做同样的事情):
于 2010-07-20T15:30:56.137 回答
0
这种cron
方法似乎仍然很干净。它只需要运行一个rake
调用,而不是一个完整的 Rails 服务器。Rake 不需要 Rails 运行即可工作。
但是,如果您真的不喜欢这种方法,那么您可以安排重复性作业在处理它们时重新排队,将run_at
时间设置为未来 5 分钟(或其他时间)。显然,您需要第一次启动队列并确保delayed_job
服务器保持运行
于 2010-07-20T15:14:36.153 回答
0
关于那个......我有同样的愿望,我计划让一个cron每 5 分钟在我的站点的特定路线上启动一个curl请求,所以它会运行一个带有结果的动作,我会可以肯定它只运行了一次。
我的目的包括:颁发徽章和编制一些平均分
于 2010-12-17T18:51:05.520 回答