为什么 delayed_job 不断尝试在 Docker 上更新 table 而不执行作业?
Why does delayed_job constantly try to udpate table on Dokku without executing job?
我正在尝试实现从一个应用程序的 api 到另一个应用程序的 Webhook 的一端。在发送应用程序中,延迟的工作(DJ)按预期完美运行。但是,在接收应用程序中,它似乎无法正常工作。我不确定这个问题,因为我无法让它不删除任何 failed/completed 作业。我查看了与 dokku 和 DJ 有关的每个答案的感觉。
我已尝试删除对 Procfile 和 DOKKU_SCALE 文件中的工作进程进行缩放的调用,然后进行部署。然后读取这些调用并重新部署。全部没有变化。
我试过用 Delayed::Job.destroy_all
删除所有 DJ,但没有效果。它表明没有什么可以删除的。另外,Delayed::Job.all
returns []
我也尝试过多次重启应用程序,但都没有成功。
我有一个初始值设定项:
# config/intializers/delayed_job.rb
Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.max_attempts = 3
以及 Profile
和 DOKKU_SCALE
# Procfile
web: bundle exec rails s
release: bundle exec rails db:migrate
worker: bundle exec rails jobs:work
# DOKKU_SCALE
web=1
worker=1
这在本地非常有效。我找不到关于为什么它不能在 Dokku 上工作的断开连接。
这是似乎循环的日志输出:
感谢您提供的任何帮助。
日志中的数据库查询是 DJ 工作人员尝试执行工作的尝试。
尝试停止 worker 并查看作业是否在 Delayed::Job
.
中开始堆积
确保:
- app 和 worker 正在连接到同一个数据库
- 本应使作业入队的事务因错误而未回滚。
原来不断尝试更新是DJ的一个特点。它内置于轮询数据库以查找 table 中的条目。显然,问题是将发送应用程序的 IP 地址列入白名单。如果它自己的 IP 地址不在白名单中,它不允许后台请求通过
我正在尝试实现从一个应用程序的 api 到另一个应用程序的 Webhook 的一端。在发送应用程序中,延迟的工作(DJ)按预期完美运行。但是,在接收应用程序中,它似乎无法正常工作。我不确定这个问题,因为我无法让它不删除任何 failed/completed 作业。我查看了与 dokku 和 DJ 有关的每个答案的感觉。
我已尝试删除对 Procfile 和 DOKKU_SCALE 文件中的工作进程进行缩放的调用,然后进行部署。然后读取这些调用并重新部署。全部没有变化。
我试过用 Delayed::Job.destroy_all
删除所有 DJ,但没有效果。它表明没有什么可以删除的。另外,Delayed::Job.all
returns []
我也尝试过多次重启应用程序,但都没有成功。
我有一个初始值设定项:
# config/intializers/delayed_job.rb
Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.max_attempts = 3
以及 Profile
和 DOKKU_SCALE
# Procfile
web: bundle exec rails s
release: bundle exec rails db:migrate
worker: bundle exec rails jobs:work
# DOKKU_SCALE
web=1
worker=1
这在本地非常有效。我找不到关于为什么它不能在 Dokku 上工作的断开连接。
这是似乎循环的日志输出:
感谢您提供的任何帮助。
日志中的数据库查询是 DJ 工作人员尝试执行工作的尝试。
尝试停止 worker 并查看作业是否在 Delayed::Job
.
确保:
- app 和 worker 正在连接到同一个数据库
- 本应使作业入队的事务因错误而未回滚。
原来不断尝试更新是DJ的一个特点。它内置于轮询数据库以查找 table 中的条目。显然,问题是将发送应用程序的 IP 地址列入白名单。如果它自己的 IP 地址不在白名单中,它不允许后台请求通过