2012-09-10 111 views
2

我的heroku應用程序中的我的隊列「send_comments」顯示12項內容,但顯示「0位0工人工作」。我知道,如果我想在本地主機上處理作業,請使用以下行:在heroku上激活resque工作人員

QUEUE=send_comments rake resque:work 

如何使用heroku執行此操作?

謝謝。

UPDATE

我不知道這是什麼錯誤意味着,但運行「工頭開始」

$ foreman start --trace 
21:15:38 worker.1 | started with pid 803 
21:15:44 worker.1 | rake aborted! 
21:15:44 worker.1 | can't convert Float into String 
21:15:44 worker.1 | 
21:15:44 worker.1 | Tasks: TOP => resque:work => resque:preload => resque:setup 
21:15:44 worker.1 | (See full trace by running task with --trace) 

這是什麼意思,可能這就是爲什麼工人們當我得到它沒有處理?

這是我Procfile:

worker: env RESQUE_TERM_TIMEOUT=1 TERM_CHILD=1 VVERBOSE=1 QUEUE=* bundle exec rake resque:work 
+3

將-trace置於Profile中的rake tast,而不是在foreman命令本身。 – messick

回答

0

的Procfile正是告訴Heroku的,當你旋轉了一個給定種類的賽道(在這種情況下,工人)做什麼。爲了真正創建一個工作,你必須手動擴展到了極致,就像這樣:

$ heroku ps:scale worker=1 

這將旋轉了一個測功機,然後運行您在Procfile指定什麼worker:後,其中有在新的測功機上運行這個rake任務的效果。這會創建一名工作人員,您可以根據需要指定多個工作人員。這種縮放也與停止/重新啓動應用程序無關。

相關問題