Daemoninsing一个rake任务
我有一个rake任务,它在rails环境下运行mailman。
我想确保rake任务总是通过守护进程运行。
我的rake任务是rake incoming_mail
我该如何进行守护?
如果你在linux上,你可以考虑使用start-stop-daemon。
start-stop-daemon -S --pidfile /var/run/incoming_mail.pid -u rails_user -d /path/to/your/rails/app -b -a "rake incoming_mail"
要稍后优雅地终止进程,您可以使用大多数参数,但将-S替换为-K。
与往常一样,您可以通过阅读手册页找到有关start-stop-daemon的更多信息。
在linux中为了在后台运行进程,可以添加&到命令结尾。 所以
rake incoming_mail&
应该为你做的工作。
如果您使用Ruby 1.9+,则可以使用Process.daemon 。 Ruby <1.9还有一个解决方案: http : //www.jstorimer.com/blogs/workingwithcode/7766093-daemon-processes-in-ruby