一个人如何在Heroku平台上部署以下堆栈?
- django
- django频道
- 芹菜
限制肯定在Procfile
上。
要用芹菜部署django,这将是:
web: gunicorn project.wsgi:application
worker: celery worker --app=project.taskapp --loglevel=info
在用频道部署Django时:
web: daphne project.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2
worker: python manage.py runworker -v2
web
进程可以使用ASGI,但是worker
过程将由频道使用,我看不出如何与芹菜一起开始。
您可以在procfile中拥有尽可能多的条目。唯一一个特别的是" Web",因为这是Heroku希望收到Web请求的唯一一个,并且它将自动为您启动。您可以在其余的地方使用自己的名字:
web: gunicorn project.wsgi:application
celeryworker: celery worker --app=project.taskapp --loglevel=info
channelsworker: python manage.py runworker -v2
现在您可以执行heroku ps:scale celeryworker=1
和heroku ps:scale channelsworker=1
来启动其他两个进程。
有关更多信息,请参见Heroku Procfile文档。