ruby-on-rails - 延迟作业进程运行,队列中有一个项目,仍然没有运行(也没有失败)
问题描述
我只是想在后台运行一个函数,按照本指南的说明使用delayed_job:https ://github.com/collectiveidea/delayed_job
我做了以下事情:
- 包含
gem 'delayed_job_active_record'
在我的 Gemfile 中。 - 添加
config.active_job.queue_adapter = :delayed_job
到我的config/application.rb
文件中。 - 从控制台
rails generate delayed_job:active_record
跑来跑去。rake db:migrate
现在,当我转到以前可以工作的功能时,例如:
t = Test.new(@test)
t.start
并将第二行替换为
t.delay.start
我可以看到该作业已成功添加到延迟作业表中。但是,什么都没有发生。它从不运行。它甚至永远不会失败。我已经验证bin/delayed_job
确实在运行(根据ps aux | grep -i delay
)
但是什么都没有运行。我究竟做错了什么?
延迟的作业表如下所示:
我看到工作被锁定,但不知道这意味着什么。我通过运行清除了锁DelayedJob.all.update(locked_at: nil, locked_by: nil)
。
解决方案
推荐阅读
- java - 如何防止我的 jsp 应用程序使用跨框架脚本?
- javascript - 显示两行和每行四个项目
- python - 当 django 中存在回溯错误时,我在标准输出中获取日志 2 次
- javascript - 如何在 Node.Js 中的 forEach 中使用 Select Query?
- php - 在时间/日期 PHP 和 ACF 方程中添加额外的一天(对于 WordPress 网站)
- driver - Spi 驱动程序宏
- c# - 基础提供程序在具有实体框架的 Open、WCF 服务上失败
- linux - AWS 将端口号更改为名称
- tensorflow - 在数据帧中打印多层感知器 ANN 预测值
- angular - 如何在无限行模型中设置初始起始页?