0

谷歌在这方面不是很有帮助,所以我希望这里的人可能有一个想法。

我的应用程序在服务器上运行良好(最近在 heroku 上运行良好),但是大约一个小时前,当我在其上打开某个页面时(涉及显示受我正在运行的延迟作业影响的信息的页面),我遇到了一个 heroku 错误,并且日志说(在许多其他事情中):

dyno=web.1 queue=0 wait=5ms service=119ms status=500 bytes=643
2012-11-07T23:17:44+00:00 app[worker.1]:    (1.3ms)  SELECT COUNT(*) AS count_all, priority AS priority FROM "delayed_jobs" WHERE (run_at < '2012-11-07 23:17:44.830238' and failed_at is NULL) GROUP BY priority
2012-11-07T23:17:44+00:00 app[worker.1]:    (2.5ms)  SELECT COUNT(*) FROM "delayed_jobs" WHERE (failed_at is not NULL)
2012-11-07T23:17:44+00:00 app[worker.1]:    (1.2ms)  SELECT COUNT(*) FROM "delayed_jobs" WHERE (locked_by is not NULL)

显然,delayed_job 存在问题,但我不确定从哪里开始寻找,特别是考虑到它之前的工作方式并且仍然在我的服务器上运行。

任何想法是什么问题或如何开始调试?

4

1 回答 1

0

很可能在 DJ 中正在处理的工作中,这可能不会在您的日志中注入错误消息。您可以在日志中搜索特定的工作人员消息并尝试查看错误。甚至这样做的问题是您需要确定作业何时运行,否则您可能正在查看日志的错误部分。

heroku run logs || grep worker

其次,您需要弄清楚为什么您的视图呈现错误。由于您的视图是由您的应用程序而不是您的工作人员呈现的,因此您的应用程序中的某些内容不同步。弄清楚到底出了什么问题,这可能表明您的工人做了/没有做什么。

于 2012-11-08T05:37:46.860 回答