Ruby on rails Redis和Resque,工作人员未获得更新的应用程序代码

Ruby on rails Redis和Resque,工作人员未获得更新的应用程序代码,ruby-on-rails,resque,Ruby On Rails,Resque,我在Resque方面经历了一段艰难的时光,首先,在开发过程中,运行rake Resque:work QUEUE='*'要处理队列,它会很好地启动,并开始为我的工作人员运行perform方法,这很好;问题是工作人员似乎没有运行我的新应用程序代码,比如说我更新了该工作人员中的perform方法,然后在rake resque:work QUEUE='*'进程中按Ctrl+c组合键,然后再次启动该进程,而排队等待处理的新作业不会导致工作人员运行新的更新代码 因此,我这里的主要问题是,如何安全地终止res

我在Resque方面经历了一段艰难的时光,首先,在开发过程中,运行
rake Resque:work QUEUE='*'
要处理队列,它会很好地启动,并开始为我的工作人员运行
perform
方法,这很好;问题是工作人员似乎没有运行我的新应用程序代码,比如说我更新了该工作人员中的
perform
方法,然后在
rake resque:work QUEUE='*'
进程中按Ctrl+c组合键,然后再次启动该进程,而排队等待处理的新作业不会导致工作人员运行新的更新代码


因此,我这里的主要问题是,如何安全地终止
resque:work
任务,并用新的应用程序代码重新启动我的工作程序?

resque工作程序对几个不同的信号做出响应:

QUIT - Wait for child to finish processing then exit
TERM / INT - Immediately kill child then exit
USR1 - Immediately kill child but don't exit
USR2 - Don't start to process any new jobs
CONT - Start to process new jobs again after a USR2
如果您想正常地关闭Resque worker,请使用QUIT

kill -s QUIT reqsue.pid

如果要使用Capitalano设置resque restart,请使用resque workers响应几个不同的信号:

QUIT - Wait for child to finish processing then exit
TERM / INT - Immediately kill child then exit
USR1 - Immediately kill child but don't exit
USR2 - Don't start to process any new jobs
CONT - Start to process new jobs again after a USR2
如果您想正常地关闭Resque worker,请使用QUIT

kill -s QUIT reqsue.pid

如果您想使用Capitano设置resque restart,请使用

太好了,这对我帮助很大!谢谢。太好了,这对我帮助很大!谢谢