【问题标题】:Delayed job not processing in the Background (Rails - 4.0.1 and delayed_job_active_record - 4.0.1) on UbuntuUbuntu 上的延迟作业未在后台处理(Rails - 4.0.1 和 delay_job_active_record - 4.0.1)
【发布时间】:2014-09-15 14:21:39
【问题描述】:

在我的应用程序中使用 Rails(4.0.1) 和 delayed_job_active_record(4.0.1) 执行后台任务。 DJ 只有在我使用 rake 作业时才能正常工作:在生产模式下工作。但我希望它必须运行守护进程,并且这个进程在一段时间后不再活跃。

如果我运行 bin/delayed_job 启动 RAILS_ENV=production。我可以访问 tmp/pids/delayed_job.pid 中的 pid 文件。这个过程是活着的。但没有任何工作。关于这个问题的任何线索?

【问题讨论】:

    标签: ruby-on-rails ruby delayed-job


    【解决方案1】:

    可能是由于某种原因/错误而延迟_作业失败。尝试在 rails 应用程序中安装 dj_mon (https://github.com/akshayrawat/dj_mon) 并查看作业日志。

    如果延迟作业服务由于内存泄漏或某些未知原因而关闭,您可以尝试在服务器上安装和配置“监控”脚本。它将自动重新启动延迟作业服务。

    【讨论】:

    • 感谢您的即时回复。我正在使用github.com/mojombo/god 来监控 DJ 活动。但我想知道这是 DJ 或 Rails 的问题还是任何内存问题..
    • 我认为是内存问题。在我们的系统中,当服务器内存超过 90% 时,延迟作业会崩溃。监视 nginx/puma/passenger 或您正在使用的任何服务器也是一个好主意,这样如果某个进程正在使用大量内存,请监视/上帝重新启动该进程。在我们的例子中,乘客是内存泄漏的主要来源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    相关资源
    最近更新 更多