【问题标题】:Celery is not receiving task when running django project with uwsgi使用 uwsgi 运行 django 项目时,Celery 没有收到任务
【发布时间】:2017-08-08 04:42:27
【问题描述】:

当我使用 manage.py 运行我的 django 项目时,芹菜正在工作。但是,当使用 uwsgi 部署项目时,情况并非如此。

运行 celery 的命令:

celery --app=project.celery:app worker --loglevel=INFO

要启动 uwsgi,我使用以下脚本:

#!/bin/bash
uwsgi --chdir=~/tender \
      --module=project.wsgi:application \
      --env DJANGO_SETTINGS_MODULE=project.settings \
      --master \
      --protocol=http \
      --pidfile=/tmp/project-master.pid \
      --socket=0.0.0.0:6969 \
      --processes=5 \
      --uid=1000 \
      --gid=1000 \
      --harakiri=20 \
      --max-requests=5000 \
      --vacuum \
      --home=~/.virtualenv3/tendervenv \
      --daemonize=~/tender.log \
      echo "uWSGI started"

【问题讨论】:

    标签: django celery uwsgi


    【解决方案1】:

    在生产中,您应该将 celery 作为守护进程进行扭曲。我建议为此使用主管。

    安装主管:

    $ sudo apt-get install supervisor
    

    在/etc/supervisor/conf.d/中创建ini文件:

    [program:celeryd]
    command=/home/user/.virtualenvs/yourvenv/bin/celery worker --app=myapp -l info 
    stdout_logfile=/path/to/your/logs/celeryd.log
    stderr_logfile=/path/to/your/logs/celeryd.log
    autostart=true
    autorestart=true
    startsecs=10
    stopwaitsecs=600
    

    初始化主管

    $ supervisord
    

    请参阅文档。 http://supervisord.org/introduction.html

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 2016-02-05
      • 2021-12-12
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      相关资源
      最近更新 更多