【发布时间】:2011-02-21 10:50:00
【问题描述】:
我已经成功使用了 delay_job 一段时间。我升级了我的 Rails 安装,现在当我运行时:
./script/delayed_job -n 4 start
要运行 4 个进程,会创建所有 4 个进程。但是它们会立即被静默杀死,将它们的 pid 文件留在 RAILS_ROOT/tmp/pids 中。
这是针对delayed_job 1.8.4 和Rails 2.3.8 的。
【问题讨论】:
我已经成功使用了 delay_job 一段时间。我升级了我的 Rails 安装,现在当我运行时:
./script/delayed_job -n 4 start
要运行 4 个进程,会创建所有 4 个进程。但是它们会立即被静默杀死,将它们的 pid 文件留在 RAILS_ROOT/tmp/pids 中。
这是针对delayed_job 1.8.4 和Rails 2.3.8 的。
【问题讨论】:
嗯,我是一个可笑的人。我不知道“运行”选项,我可以在前台运行 delay_job 并查看到底发生了什么。我的数据库设置对于 Rails 来说是非常规的,并且我的 delayed_job 表与我的 config/database.yml 表中列出的架构不同。
这之前有效的原因是,我对一个已售卖的delayed_job gem 进行了猴子修补,以对我的delayed_jobs 表所在的架构进行硬编码。当我升级 Rails 时,我升级并重新销售了几个 gem,从而覆盖了我之前的硬编码。
这就是我不应该这样做的原因,我知道。经验教训。
【讨论】:
检查您的日志/delayed_job.log 以获取错误消息。确保脚本在正确的环境中运行,例如,如果您在生产环境中运行,请运行 RAILS_ENV=production script/delayed_job start
【讨论】: