gpt4 book ai didi

background - 在后台运行 celery worker

转载 作者:行者123 更新时间:2023-12-04 01:47:19 29 4
gpt4 key购买 nike

我正在运行这样的 celery worker :

celery worker --app=portalmq --logfile=/tmp/portalmq.log --loglevel=INFO -E --pidfile=/tmp/portalmq.pid

现在我想在后台运行这个 worker 。我尝试了几件事,包括:
nohup celery worker --app=portalmq --logfile=/tmp/portal_mq.log --loglevel=INFO -E --pidfile=/tmp/portal_mq.pid >> /tmp/portal_mq.log 2>&1 </dev/null &

但它不起作用。我检查了 celery 文档,我发现了这个:
  • Running the worker as a daemon
  • Running the celery worker server

  • 特别是这个评论是相关的:
    In production you will want to run the worker in the background as a daemon.
    To do this you need to use the tools provided by your platform, or something
    like supervisord (see Running the worker as a daemon for more information).

    这对于在后台运行进程来说是太多的开销。我需要在我的服务器中安装 supervisord,并熟悉它。暂时不去。有没有一种在后台运行 celery worker 的简单方法?

    最佳答案

    supervisor 真的很简单,只需要很少的工作来设置它,同样适用于 celery 与 supervisor 结合使用。

    设置它应该不会超过 10 分钟:)

  • 使用 apt-get 安装主管
  • 创建/etc/supervisor/conf.d/celery.conf 配置文件
  • 在 celery.conf 文件中粘贴一些东西
    [program:celery]
    directory = /my_project/
    command = /usr/bin/python manage.py celery worker
  • 加上(如果你需要)一些可选的和有用的东西(带有虚拟
    值)
    user = celery_user
    group = celery_group
    stdout_logfile = /var/log/celeryd.log
    stderr_logfile = /var/log/celeryd.err
    autostart = true
    environment=PATH="/some/path/",FOO="bar"
  • 重新启动主管(或执行 supervisorctl reread; supervisorctl add
    celery )

  • 之后,您将获得不错的 ctl 命令来管理 celery 进程:
    supervisorctl start/restart/stop celery

    supervisorctl tail [-f] celery [stderr]

    关于background - 在后台运行 celery worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12814691/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com