2013-03-28 116 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)