• 使用supervisor后台运行celery


    一、先安装supervisor

    1、安装命令:

    $ pip install supervisor
    

    如果在沙盒环境下安装不上的话使用:

    $ apt-get install supervisor
    

    二、安装celery

    $ pip install celery
    

    三、对supervisor进行配置

    1、生成默认配置文件

    $ echo_supervisord_conf > /etc/supervisord.conf
    

    在这里你也可以自定义默认配置文件生成的位置,前提是/etc目录下先去创建你的要放置配置文件的目录

    假如我们创建了一个叫做supervisor的文件夹

    然后将默认配置文件放到这个文件夹里面

    $ echo_supervisord_conf > /etc/supervisor/supervisord.conf
    

    2、修改配置文件

    $ vim /etc/supercisor/supervisord.conf
    

    在最后一行添加
    files = /etc/supervisor/supervisord.conf.d/*.conf

    [include]
    ;files = /etc/supervisor/conf.d/*.conf
    files = /etc/supervisor/supervisord.conf.d/*.conf
    
    

    然后进入supervisord.conf.d文件夹,创建celeryd_worker.conf文件并进行如下配置:

    [program:celeryworker]  # 这个是进程的名字,随意起
    command=celery -A bookstore worker -l info  # 要运行的命令
    directory=/home/fhx/git_test1/bookstore  # 运行命令的目录
    
    numprocs=1
    # 设置log的路径
    stdout_logfile=/var/log/supervisor/celeryworker.log
    stderr_logfile=/var/log/supervisor/celeryworker.log
    autostart=true
    autorestart=true
    startsecs=10
    stopwaitsecs = 600
    priority=15
    
    

    下面是网上找的另外一个配置的例子,说得更加详细一些:使用的是

    [program: ProjectName]
    command=dotnet ProjectName.dll ; 运行程序的命令
    directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
    autorestart=true ; 程序意外退出是否自动重启
    autostart=true ; 是否自动启动
    stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
    stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT
    startsecs=1 ; 自动重启间隔 
    

    3、使用我们修改的配置文件启动supervisor

    supervisord -c /etc/supervisor/supervisord.conf
    

    如果遇到报错信息为端口正在被占用的话运行下面的命令

    unlink /var/run/supervisor.sock
    # 或者
    unlink /tmp/supervisor.sock
    

    之后再运行上面的启动supervisor命令

    4、supervisorctl 命令来看我们supervisor的运行状态

    你将可以看到如下的显示就表示你的后台celery已经启动成功了:supervisorctl status 

    celeryworker                     RUNNING   pid 17682, uptime 0:17:06
    

    supervisorctl的使用就不在赘述了只说几条简单的命令:

    status       # 查看状态
    reread       # 读取配置信息
    update       # 加载最新的进程
    stop         # 停止进程
    start        # 启动进程
    reload       # 重新加载配置



    参考文档: 1 https://www.jianshu.com/p/222d85c3833e
  • 相关阅读:
    vector容器
    CSS3文字与字体 text-overflow 与 word-wrap
    div 居中
    C# 邮件发送
    SD详解-销售过程
    js 常用
    finereport报表--动态格间运算 二
    finereport报表--动态格间运算 一
    CSS 渐变色
    CSS3 box-shadow 属性 紧跟在 -webkit-, -ms- 或 -moz-
  • 原文地址:https://www.cnblogs.com/dylancao/p/12268731.html
Copyright © 2020-2023  润新知