Ruby on rails 工头在开发过程中因延迟重新加载工作而中止
我使用foreman在本地为我的开发环境运行服务器和延迟的作业过程 延迟作业会定期自动重新加载代码,如果代码中出现语法错误,则延迟作业进程将退出,并导致foreman停止所有其他进程。这意味着如果我在开发环境中保存了一个有错误的文件,就会停止 堆栈跟踪的关键行是(我相信): 我知道我可以用Ruby on rails 工头在开发过程中因延迟重新加载工作而中止,ruby-on-rails,delayed-job,foreman,Ruby On Rails,Delayed Job,Foreman,我使用foreman在本地为我的开发环境运行服务器和延迟的作业过程 延迟作业会定期自动重新加载代码,如果代码中出现语法错误,则延迟作业进程将退出,并导致foreman停止所有其他进程。这意味着如果我在开发环境中保存了一个有错误的文件,就会停止 堆栈跟踪的关键行是(我相信): 我知道我可以用config.cache\u classes=false停止重新加载延迟的\u作业,但我希望这是真的,这样我的Web服务器就可以重新加载每个请求的类 我希望我的工作也能重新加载我的课程。是否有一种方法可以让延迟
config.cache\u classes=false
停止重新加载延迟的\u作业,但我希望这是真的,这样我的Web服务器就可以重新加载每个请求的类
我希望我的工作也能重新加载我的课程。是否有一种方法可以让延迟的作业尝试重新加载,但在重新加载失败时继续运行?如果没有,是否有其他方法可以关闭延迟作业的重新加载功能?我的同事建议将延迟作业包装在脚本中,如果它意外退出,将重新启动它(在
myproject/script/delayed\u job.sh
中):
proc文件中的:
delayed_jobs: script/delayed_jobs.sh
这个脚本完成了我们需要的工作
#!/bin/bash
while true; do
bundle exec rake jobs:work
echo 'Delayed jobs quit... restarting in 5s'
sleep 5
done
delayed_jobs: script/delayed_jobs.sh