【问题标题】:delayed job stopped working aftersome time延迟工作一段时间后停止工作
【发布时间】:2013-11-19 04:02:56
【问题描述】:

我有一个 Rails 应用程序,我正在为此使用延迟作业。它工作正常,但突然停止工作。我不确定它为什么停止工作。当我在 delay_jobs 表中签入数据库时​​,会在表条目中获取以下信息。

id: 1, priority: 0, attempts:0, 
handler: --- !ruby/object:DelayedReminderJob 
    attachment_ids: 
    - 19
    body: !str 
      str: |-
        <p>Hello Awad,</p>
        <p>Kindly reply to my mail..</p>
      "@_rails_html_safe": false
    message: 
    recipient_ids: 
    - 16
    school_id: 2
    sender_id: 3
    subject: !str 
      str: Pls reply
      "@_rails_html_safe": false
    last_error: 
    run_at : 2013-11-07 12:46:31

请帮忙

【问题讨论】:

  • 检查服务器是否延迟作业工作进程正在运行。对于 linux 服务器,您可以使用“ps ax | grep delay”命令。如果没有进程,则必须启动它。
  • 当我在生产服务器中运行上述命令时,它显示如下。 17989 pts/0 S+ 0:00 grep --color=auto 延迟
  • 这意味着延迟的作业进程没有运行,您必须启动它。

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


【解决方案1】:

我同意 Rubyman。

使用以下命令检查延迟作业

ps ax | grep delayed

如果它工作,那么它必须显示在下面的行

25274 ?        Sl     0:00 delayed_job                  
25280 pts/1    S+     0:00 grep --color=auto delayed

如果它显示在输出下方,则它不工作

25152 pts/1    S+     0:00 grep --color=auto delayed

您可以使用以下三个命令来启动、重启和停止

 RAILS_ENV=production script/delayed_job start
 RAILS_ENV=production script/delayed_job restart
 RAILS_ENV=production script/delayed_job stop

或者你可以用下面的命令检查

RAILS_ENV=production script/delayed_job status

输出

delayed_job: running [pid 25274]

祝你好运。

【讨论】:

  • 对于 Rails 4:将 script/delayed_job 替换为 bin/delayed_job
猜你喜欢
  • 2017-06-01
  • 2013-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-15
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多