1

我最近安装了delayed_job_active_record 并完成了heroku 的典型安装步骤,由于某种原因,当我在本地运行时,我(和我团队中的另一个开发人员)不断收到错误,我们的Web 进程在尝试更新locked_at 时被锁定。

15:22:35 web.1    | started with pid 672
15:22:35 worker.1 | started with pid 673
...
15:23:23 web.1    |   Delayed::Backend::ActiveRecord::Job Load (1.0ms)  UPDATE "delayed_jobs" SET locked_at = '2013-05-28 22:22:48.419281', locked_by = 'host:Jons-MacBook-Pro.local pid:673' WHERE id IN (SELECT id FROM "delayed_jobs" WHERE ((run_at <= '2013-05-28 22:22:48.418576' AND (locked_at IS NULL OR locked_at < '2013-05-28 18:22:48.418615') OR locked_by = 'host:Jons-MacBook-Pro.local pid:673') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1 FOR UPDATE) RETURNING *

被引用的 PID 是工作 PID,但我有一个新的数据库(做了一个 db:drop db:create db:migrate 来测试)并且没有延迟的作业,所以没有理由让 delay_job 锁定任何东西。

所以..有人对我应该从哪里开始调试这样的东西有建议吗?我似乎无法找到它的来源,并希望在找出去哪里寻找一些帮助。

4

0 回答 0