使用supervisor守护celery进程

使用supervisor守护celery进程

系统:ubuntu 16.10
celery 无法自己守护进程,那么我们需要在后台守护的时候,可以使用官方的方法 Celery 4.0.2 documentation-Daemonization ,可以可以采用supervisor.

  • 安装supervisor:
      apt-get install supervisor
    
  • /etc/supervisor.conf.d 创建celery.conf:
      [program:celery]
    
      # 启动命令入口
      command=/var/www/newweb/venv/bin/celery worker -A celery_worker.celery --loglevel=info
    
      # 命令程序所在目录
      directory=/var/www/newweb/
    
      # 运行命令的用户名
      user=root
    
      autostart=true
    
      autorestart=true
    
      # 日志地址
      stdout_logfile=/var/log/newymw2.0/supervisor/newymw2.0_celery.log                
    
  • 开启suprvisor:
      service supervisor start
    
  • 加载supervisor配置文件:
      supervisorctl reload
    
  • 启动supervisor要守护的进程:
      # 比如:上面我要守护的进程是celery (celery.conf: [program:celery])
      supervisorctl start celery 
    

注意:

在执行的过程中,如果出现错误:

error: , [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 22
unix:///var/run/supervisor.sock no such file
supervisor> 

则需要检查 /etc/supervisor.conf.d 下的配置文件是否有问题,如果有任何问题,都无法正常启动并守护该进程.

更改过文件之后,要重新执行一次上述几个命令.

可以通过 supervisorctl status 查看状态.

你可能感兴趣的:(使用supervisor守护celery进程)