遵循rails-cast(http://railscasts.com/episodes/271-resque?view=comments),我能夠使用worker和rake任務同樣設置我的rails應用程序。如何從rails應用程序運行'resque:work'rake任務?
然而,由於在軌鑄規定,一旦我開始我的Rails服務器,我有一個單獨的終端窗口發出以下命令:
TERM_CHILD=1 QUEUES=* rake resque:work
這得到了我和運行,並我沒有問題。但是,我不想在終端上觸發rake命令(或者編寫啓動shell腳本),而是在應用程序啓動時從Rails本身發出此終端命令(TERM_CHILD = 1 QUEUES = * rake resque:work)在應用程序在服務器上的正常運行時間內可用。
我正在學習Rails框架的過程中,所以如果您能給我一些幫助,並讓我知道如何/放置任何代碼片段,您可能會提供給我,我將不勝感激。
非常感謝您提前。
這裏是我的環境規格:
我使用JRuby(JRuby的1.7.16.1(1.9.3p392)2014年10月28日4e93f31 Java的熱點(TM)64位服務器VM 1.7。 0_72-B14 + JIT [Linux的AMD64])
的Rails 4.1.8版本
我開發的Linux操作系統Ubuntu 14.04
- 我將部署這個應用程序的Wi作爲WAR包的Tomcat服務器上的ndows 2008服務器
- 我正在使用PostgreSQL作爲我的數據庫。
謝謝,但我不認爲工頭會適合這項法案。 問題是,我的Windows生產服務器上沒有安裝ruby,因此終端上無法使用rails/rake/foreman命令。 如果你可以提出一種從rails內部啓動resque工作者的方法(我同意,一旦rails應用程序停止,我想殺死工作者)。 非常感謝你 – 2015-02-11 23:15:15
更新你的情況。 – RipTheJacker 2015-02-12 00:11:00
非常感謝 - 這是我最終想出的完全相同的解決方案。我將這段代碼放入初始化程序中,它像一個魅力。 – 2015-02-12 03:27:15