我在Heroku上部署了一个Celery应用程序,但我没有在Heroku日志中看到任何与任务相关的信息(我知道任务实际上已执行)。据我所知,Heroku会自动收集记录到stdout或stderr的所有内容。 Celery默认情况下不会登录到stdout / stderr吗?或者我是否需要实现自定义日志记录?我希望至少在日志中看到类似“执行任务X”的内容。
答案 0 :(得分:4)
如果您的芹菜工作者正在发布打印语句或使用标准的python日志记录类,那么您应该在heroku日志中看到类似的内容:
2015-04-25T00:25:00.072929 + 00:00 app [celeryd.1]:[2015-04-25 00:25:00,072:INFO / Beat]调度程序:发送适当的任务竞赛获胜者 (app.contest_win)
celeryd将被您在ProcFile中命名为芹菜工人的任何东西取代。我看起来像这样,您可以在上面的日志记录中看到进程标签:
celeryd: celery -A app.celery worker -E -B --loglevel=INFO
当然,您还必须设置日志级别:)。