【问题标题】:Can a Delayed Job be debugged after it's been queued?延迟作业排队后可以调试吗?
【发布时间】:2016-03-29 13:37:01
【问题描述】:

我正在使用 Rails 4.2、Active Job 和 Delayed Job 向新用户发送电子邮件。

如果我在邮件程序中出现编码错误(例如,变量拼写错误),并且 ActiveJob::DelayedJob 引发异常,是否有任何方法可以修复编码错误,但使用新的固定代码?

也许我做错了,但我想知道如果无法修复延迟作业一次又一次地重试损坏的代码的目的是什么!

【问题讨论】:

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


    【解决方案1】:

    您应该在对有问题的代码进行更改后立即重新启动延迟的工作人员,以便更改生效。

    如果您想手动运行特定作业,可以通过运行新的 rails 控制台实例并执行以下代码来实现

    Delayed::Worker.new.run(Delayed::Job.find(1)) # replace 1 with the job number.

    【讨论】:

    • 所以如果我 1) 修复代码,然后 2) 重新启动延迟的 Job 工作人员,旧作业将尝试再次运行但使用新的固定代码?这是我每次部署错误修复时都应该做的事情吗?
    • 是的,这就像您在生产环境中重新加载 rails 环境,例如对乘客使用 touch 命令重启乘客服务器实例
    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多