使用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: <class 'socket.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 查看状态.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容