我有一個rake任務,在rails環境下運行mailman。守護rake任務
我想確保rake任務總是通過守護進程運行。
我的rake任務是rake incoming_mail
我將如何去daemonising呢?
我有一個rake任務,在rails環境下運行mailman。守護rake任務
我想確保rake任務總是通過守護進程運行。
我的rake任務是rake incoming_mail
我將如何去daemonising呢?
如果你在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"
以後要優雅地殺死你可以使用大部分的論點,但與-K替換-S過程。
與往常一樣,您可以通過閱讀手冊頁找到關於start-stop-daemon的更多信息。
這就是我需要的。謝謝 – 2012-03-04 18:07:52
在linux中,爲了在後臺運行進程,可以將&添加到命令結尾。所以
耙incoming_mail &
也許應該爲你做的工作。
如何確保rake任務在rails應用程序啓動後運行。 – 2012-03-04 15:30:28
這個解決方案只是在後臺運行它,這很好,直到你想確定事情已經結束,並且工作。 – pjammer 2012-10-18 14:55:11
如果您使用Ruby 1.9+,則可以使用Process.daemon。還有一個Ruby的解決方案< 1.9:http://www.jstorimer.com/blogs/workingwithcode/7766093-daemon-processes-in-ruby
你使用的是linux還是osx?你想要這個守護進程有什麼樣的功能? – Maran 2012-03-04 14:38:24
'daemon stop'和'daemon start' – 2012-03-04 15:29:14