2009-09-11 48 views
0

问题:我们的工作从Rails应用程序在BackgroundRB中运行几秒到几分钟。但是,当我们部署新代码并在执行任务时重新启动BackgroundRB会发生什么? BackgroundRB似乎没有拿起任何'采取'的任务,我一直无法找到任何可以恢复这些任务。如何在发生BackgroundRB崩溃的情况下恢复已取消(已完成)的作业?

任何人都可以告诉我是否和如何BackgroundRB提供恢复正在运行的任务,当backgroundrb停机?

我问这个问题的原因是,在工作结束时,一个新的工作将在任意时间排队等候。

回答

0

可能的解决方案是在部署新应用程序时重置所有“已采纳”作业。但是,做这件事最合乎逻辑的地方是什么?我目前正在考虑一个rails initializor。

+1

我可能会用capistrano做。 – jonnii 2009-09-11 20:42:10

+0

是的,将它放入初始化程序会导致所有正在运行的任务在Passenger产生新的Ruby进程时被重置。不好! Capistrano将是与after_update_code挂钩组合的更好方式。 – Ariejan 2009-09-12 10:33:13

相关问题