我有兴趣运行一个很长时间的耙子任务,需要几个小时才能完成,我有兴趣了解处理这个问题的最佳做法.
我发现可能的解决方案
>设置一个cron工作
> delayed_job
> resque
解决方法
我个人喜欢Resque,您可以使用resque-scheduler gem来处理长时间运行或定期任务.
如果您不需要经常运行任务,您可以对耙子任务进行妖魔化处理,以确保您的SSH会话死亡或某些事情会继续运行.
尝试这样的东西:
nohup rake my:task &
nohup会将输出发送到您运行任务的目录中的nohup.out,并且还将让您的ssh会话不会进程死机,其次是&将它作为deamon来运行.