调试延迟作业没有重启的最佳方法是什么?
运行restart会显示它正在重新启动处理,但是grepping显示没有进程。
$ RAILS_ENV=production ruby script/delayed_job -n3 --pid-dir=/dem/pids/ restart
Warning: no instances running. Starting...
Warning: no instances running. Starting...
Warning: no instances running. Starting...
$ ps -aux | grep delay
produser 3471 0.0 0.0 7232 612 pts/4 S+ 10:28 0:00 tail -f delayed_job.log
produser 4059 0.0 0.0 11740 928 pts/0 S+ 10:32 0:00 grep --color=auto delay
$ RAILS_ENV=production ruby script/delayed_job -n3 --pid-dir=/dem/pids/ restart
Warning: no instances running. Starting...
Warning: no instances running. Starting...
Warning: no instances running. Starting...
在拖尾delayed_job.log文件时,它只显示处理重启和静默失败。
2017-02-01T10:48:04-0800: [Worker(delayed_job.0 host:app pid:6257)] worker started
2017-02-01T10:48:04-0800: [Worker(delayed_job.1 host:app pid:6267)] worker started
答案 0 :(得分:0)
我找到了自己问题的答案。记录此处,以防有人在搜索中找到。
如果您发现自己处于相同的情况,请尝试在前台运行该流程(而非背景)
RAILS_ENV=production ruby script/delayed_job --pid-dir=/dem/pids/ run
found unexpected end of stream while scanning a quoted scalar at line 165 column 14
googling包含来自dj来源的结果:Malformed yaml in handler could crash all delayed_job workers
这是一个很好的领导。
我做了什么?我查询了delayed_jobs
我们的电子邮件处理程序。
结果是什么? 1个带有巨大处理程序的工作。
也可能只是query for the longest column。
删除作业并运行run
命令后,它正常开始处理。