Python 在heroku上运行Django后台任务

Python 在heroku上运行Django后台任务,python,django,heroku,Python,Django,Heroku,因此,我有一个Django项目,它有一个后台任务供方法运行。 我对procfile做了如下调整 最初 web: python manage.py collectstatic --no-input; gunicorn project.wsgi --log-file - --log-level debug 现在 尽管添加了worker,但当我在heroku上部署项目时,它不会运行后台任务。后台任务已创建,可以在django admin中看到它已注册,但未运行。在阅读了各种文章(其中一篇是)之后,我

因此,我有一个Django项目,它有一个后台任务供方法运行。 我对procfile做了如下调整 最初

web: python manage.py collectstatic --no-input; gunicorn project.wsgi --log-file - --log-level debug
现在

尽管添加了worker,但当我在heroku上部署项目时,它不会运行后台任务。后台任务已创建,可以在django admin中看到它已注册,但未运行。在阅读了各种文章(其中一篇是)之后,我希望添加worker:python mnanage.py process_任务能够完成这项工作,但事实并非如此

如果在heroku cli:heroku run python manage.py process_任务中执行,则它只在数据库中最初存在的数据上运行,而不在部署后添加的任何新数据上运行

注意:python manage.py process_tasks是我用来让后台任务在本地服务器上运行的


因此,如果有人可以在heroku上部署后帮助我运行后台任务。

您的
Procfile
似乎是正确的,您需要使用heroku CLI中的
heroku scale worker=1
缩放您的worker dyno,或者您也可以从heroku仪表板缩放您的worker dyno

对于通过浏览器缩放辅助动态对象:-

  • 访问
    https://dashboard.heroku.com/apps//resources
  • 编辑您的worker dyno并从此处进行缩放确认您的更改

  • 在CLI中,使用命令heroku logs-t-p worker查看worker dyno的状态和日志。在heroku日志中,我看到了,但Django管理中的记录从未更新。尝试次数始终为0。
    web: python manage.py collectstatic --no-input; gunicorn project.wsgi --log-file - --log-level debug
    worker: python manage.py process_tasks