【问题标题】:How to keep Celery running in Django (drf) + Redis + WSGI (EC2)如何让 Celery 在 Django (drf) + Redis + WSGI (EC2) 中运行
【发布时间】:2020-06-29 12:28:26
【问题描述】:

我不认为这是一个非常新的问题。我只是找不到正确的答案。我正在尝试将 Celery 用于后台任务,同时使用 Django Rest Framework 实现后端。我有一个 Redis 服务器。

Celery 可以正常工作

celery worker -A my_project --loglevel=info

但是,如果我执行此命令,它将不起作用。我如何保持运行?我找到了一个supervisor 的博客。我只想知道这样做的标准(以及更容易)是什么。

【问题讨论】:

    标签: django redis django-rest-framework celery


    【解决方案1】:

    您应该做的是使用 docker 并使用 docker-compose 为您的服务。但如果你只是在测试东西:

    $ nohup celery worker -A my_project --loglevel=info &
    

    & 用于将进程带到后台,您可以使用fg 将其召回,使用Ctrl + Z 将其挂起到bg,nohup 确保即使您关闭@,芹菜仍将继续运行987654329@会话。

    编辑:使用此方法的唯一缺点是,如果进程退出,那么您将不得不再次调用它。在生产环境中,您应该使用 docker-compose 使用 docker。

    【讨论】:

    猜你喜欢
    • 2021-01-15
    • 2017-11-14
    • 1970-01-01
    • 2016-06-10
    • 2014-09-05
    • 2020-09-04
    • 1970-01-01
    • 2012-03-16
    • 2020-04-12
    相关资源
    最近更新 更多