12得票2回答
生产环境下,delayed_job 在一段时间后停止运行

在生产环境中,我们的delayed_job进程出现了问题。我不确定它是崩溃了还是被操作系统杀死了,也没有在delayed_job.log文件中看到任何错误信息。 有什么方法可以进行故障排查吗?我考虑安装monit监控它,但那只能告诉我它何时死亡,无法告诉我它为什么死亡。 是否有办法使其向日...

12得票1回答
Rails/ActiveRecord悲观锁 - 获取锁之后需要重新加载吗?

我在Rails中有一个Transaction模型,代表将要从信用卡中扣除的财务交易。 当创建一个交易时,它的状态为:new。当我尝试结算费用(这将在DelayedJob中发生)时,我会将状态更新为:pending。如果状态不是:new,则会忽略任何后续对charge的调用。 幼稚版(不考虑...

12得票4回答
如何使Delayed_Job在ActionMailer遇到错误时通知Airbrake?

文档提到了钩子,包括一个错误钩子,但仅在自定义子类的上下文中提及。 这个相似的问题(没有答案)说将同样的钩子添加到类中没有起作用。 有什么诀窍吗? 更新: 总的来说,我想知道如何添加钩子以触发使用object.delay.action()语法的,在这里我看不到明显的链接到一个类。

12得票3回答
在Rails加载完成后运行代码?

我有一个需要每分钟执行一次的周期性任务(使用delayed_job)。如果系统中不存在这样的任务,我希望Rails在加载完成后自动将其加入队列。 请问有什么好的地方可以在整个Rails启动流程的最后运行一些代码?有人建议在config/environments/development.rb(...

11得票3回答
延迟任务保存已完成的任务

有没有一个参数可以传递给delayed_job,以防它从delayed_jobs表中删除已完成的作业? 有点类似于destroy_failed_jobs但是针对已完成的作业 有什么想法吗?

11得票3回答
在后台运行rake任务和使用类似Delayed Job、Resque或Sidekiq的gem有什么区别?

我需要实现一些后台处理,以便 1) 发送电子邮件,2) 进行一些API调用。无论使用哪种系统,我还将与某种 cron 调度程序(可能是 Whenever)结合使用。我很好奇,我知道有各种各样的很酷的后台处理宝石(Delayed Job、Sidekiq、Resque),但我也明白你可以通过 Ry...

11得票3回答
延迟作业(collectiveidea gem)中的NoMethodError错误

更新:此问题已有补丁程序:https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798 更新2:对于在Heroku上遇到此问题的任何人,我发现降级为Rake 0.8....

11得票1回答
延迟任务:为特定任务配置run_at和max_attempts

我需要覆盖特定作业的Delayed::Worker.max_attempts,以便可以尝试多次。同时,我不希望下一个预定时间按指数确定(根据文档:5秒+N ** 4,其中N是重试次数)。 我不想覆盖Delayed :: Worker设置,并影响其他作业。 我的作业已经是自定义作业(我以某种...

11得票2回答
使用delayed_job发送电子邮件时的错误报告

当使用像AirBrake或ExceptionNotifier这样的工具处理延迟作业时,获取错误报告的正确方法是什么? 我尝试创建自己的延迟作业类,但由Mailer.welcome()(或类似方法)创建的邮件对象没有正确地序列化。我也尝试将error(job, exception)方法添加到P...

10得票1回答
延迟任务中MySQL服务器已断开连接错误

我正在尝试调试一个情况,在特定情况下,delayed_job 进程会因为 Mysql2::Error: MySQL server has gone away 错误而停止运行。 我的设置有些复杂,但我已经尽力简化它了。在 ClustalwFlowTask 类中的 run 方法被处理为后台任务。...