【问题标题】:How to always let heroku run a command on deployment for a django project?如何始终让 heroku 在部署 django 项目时运行命令?
【发布时间】:2020-12-30 15:16:46
【问题描述】:

我正在做一个 django 项目。 Procfile 是 heroku 在部署之前总是查看的地方。 目前它是这样配置的,一切正常。

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

这意味着每次我对项目进行任何更改并将其部署到服务器上时,它都会运行 collectstatic 命令。同样的事情可以应用于运行后台任务吗?这个后台任务需要在我的项目部署后自动运行。 python manage.py process_tasks 是我在我的命令中键入的内容,以在本地服务器上的 django 中触发此 background_task。那么,这样的事情是否会像 python manage.py collectstatic 一样帮助调用它(即从我的静态文件夹中收集所有静态文件)?

web: python manage.py collectstatic --no-input; python manage.py process_tasks; gunicorn project_folder.wsgi --log-file - --log-level debug

【问题讨论】:

    标签: python django heroku


    【解决方案1】:

    您尝试过release 进程类型吗? (如here所述)

    web: python manage.py collectstatic --no-input; gunicorn project_folder.wsgi --log-file - --log-level debug
    release: python manage.py process_tasks
    

    它应该在部署完成后运行发布命令。

    【讨论】:

    • 我部分得到了我的问题的答案,但是我未能从我的问题中理解的是,我想在部署后运行这个命令,但它会无限期地运行。如果我在发布中提到它,发布阶段将永远持续下去,我的项目永远不会部署。所以,不幸的是,这种方法不起作用@Bihan Viranga
    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 2015-09-29
    • 2014-12-23
    • 2020-12-21
    • 2016-01-11
    • 2020-10-24
    • 2020-11-09
    • 2014-02-16
    相关资源
    最近更新 更多