我正试图将一个应用程序移植到Heroku上运行,但遇到了一个障碍。这是一个Python3/Django应用程序,web应用程序(使用gunicorn)运行正常。当我在Procfile中添加一个工作者时,它会崩溃,并显示消息:
2016-01-13T16:40:07.985725+00:00 heroku[worker.1]: Starting process with command `celery -A app worker`
2016-01-13T16:40:08.664327+00:00 heroku[worker.1]: State changed from starting to up
2016-01-13T16:40:09.900924+00:00 app[worker.1]: bash: celery: command not found
2016-01-13T16:40:11.184762+00:00 heroku[worker.1]: Process exited with status 127
2016-01-13T16:40:11.196987+00:00 heroku[worker.1]: State changed from up to crashed
需求文件包括芹菜:
celery==3.1.18
如果没有安装这些要求,主应用程序将无法启动。
Procfile:
web: gunicorn app.wsgi
worker: celery -A app worker
在Heroku文档中,他们使用相同的Procfile命令启动芹菜:https://devcenter.heroku.com/articles/celery-heroku#running-本地
切换到heroku-buildpack-multi.git导致了这个问题,因为我还没有完全开发构建包。我需要将python buildpack添加到.buildpacks