首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Delayed_job中手动重试作业

在Delayed_job中手动重试作业
EN

Stack Overflow用户
提问于 2010-07-23 02:23:06
回答 9查看 40.2K关注 0票数 75

延迟::作业的自动重试功能很棒,但现在有一个作业我想手动重试。有没有一种方法可以调用作业本身,就像...

代码语言:javascript
复制
Delayed::Job.all[0].perform

或者跑,或者别的什么。我尝试了一些方法,并梳理了文档,但不知道如何执行作业的手动重试。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-10-26 11:30:28

手动调用作业的步骤

代码语言:javascript
复制
Delayed::Job.find(10).invoke_job # 10 is the job.id

如果作业成功运行,则不会删除该作业。您需要手动删除它:

代码语言:javascript
复制
Delayed::Job.find(10).destroy
票数 108
EN

Stack Overflow用户

发布于 2015-09-04 16:41:08

代码语言:javascript
复制
Delayed::Worker.new.run(Delayed::Job.last)

这将在作业完成后删除该作业。

票数 37
EN

Stack Overflow用户

发布于 2010-07-23 05:16:32

您可以完全按照您所说的方式进行操作,即找到作业并运行perform。

但是,我通常只是将run_at设置回原处,以便job processor再次拾取它。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3312054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档