谷歌对此不太有帮助,所以我希望这里的某个人可能会有一个想法。
我的应用程序在服务器上工作正常(并且最近在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存在问题,但我不知道从哪里开始查看,特别是考虑它之前是如何工作的,并且仍在我的服务器上运行。
任何想法是什么问题或如何开始调试?
答案 0 :(得分:0)
这可能是DJ正在处理的工作,可能不会在您的日志中输入错误消息。您可以在日志中搜索特定的工作人员消息,并尝试查看错误。甚至这样做的问题是你需要确定作业何时运行,否则你可能会查看日志的错误部分。
heroku run logs || grep worker
其次,您需要弄清楚视图呈现错误的原因。由于您的视图是由您的应用呈现的,而不是您的工作人员,因此应用中的某些内容不同步。弄清楚究竟出了什么问题,这可能指出你的工人做了什么/不做什么。