2013-03-28 115 views
0

我想,當我開始我的開發服務器來測試新的cron作業我已經在我的resque調度開始我的工作人員,所以我開始開發服務器 -開始resque工人,同時啓動開發服務器

QUEUE=* rake environment resque:work rails s 
當運行這個命令

它已經爲我工作過,如果我是reading their documentation correctly仍應該工作。

但我發現了以下錯誤後,我打斷它,它被掛向上

^Crake aborted! 
Don't know how to build task 'rails' 

這裏後,我的鍵盤中斷後,獲得與--trace

** Invoke environment (first_time) 
** Execute environment 
** Invoke resque:work (first_time) 
** Invoke resque:preload (first_time) 
** Invoke resque:setup (first_time) 
** Invoke environment 
** Execute resque:setup 
** Execute resque:preload 
** Invoke resque:setup 
** Execute resque:work 
^Crake aborted! 
Don't know how to build task 'rails' 

我運行它不明白爲什麼我會得到錯誤,另外爲什麼它以前加載和工作,但不再。我在這裏錯過了什麼?

回答

3

確定您所管理的某個時候回到成功

QUEUE=* rake environment resque:work rails s

運行此命令,因爲我知道rails s的方式是軌道的list命令而不是rake任務

可以連續運行耙式分隔空間如

QUEUE=* rake environment rake1 rake2 rake3

但你着跑耙子和rails命令他們的方式你提到上述

我從你的跟蹤瑞克(resque耙)上面看到目前正在運行,而不是通過第二耙您指定的軌命令啓動服務器耙正在考慮爲rake任務(這是不正確的)

我相信你正在尋找這個

QUEUE=* rake environment resque:work && rails s

但我不相信你有提到將永遠工作,請讓我知道如果有什麼衝突在這裏

希望這是有意義

+0

是的,這是非常有意義的,謝謝你把它分解下來,而且我之前並不一定是那種成功的命令。對不起,錯誤的信息和感謝的關注。 – 2013-04-01 17:33:38

3

這是更好的:

BACKGROUND=yes QUEUE=* PIDFILE=./tmp/resque.pid bundle exec rake environment resque:work 

然後:

rails s 

如果您需要停止重新工作:

kill -QUIT $(cat ./tmp/resque.pid)