任何时候你都可以开始做自己想做的事

搜索|
celery 进程守护 shell方式
发布时间:2023-09-15 11:37:04

一后台启动worer

1.在自定义目录下,建立sh文件

vim /opt/celery_worker.sh

 #/opt为项目路径根目录,可自己选一个目录里面创建sh文件,运行文件要到此目录下


2.celery_worker.sh文件配置以下内容

#!/bin/sh 

case $1 in                                        

   start) cd /opt/django-celery/ && celery multi start w1 -A  celery_pro -l info;;  # django项目根目录 : /opt/django-celery/

   stop) cd /opt/django-celery/ && celery multi stop w1 -A  celery_pro -l info;; # django项目根目录 : /opt/django-celery/

   *) echo "require start|stop" ;;     

esac


3.使用,到自定义创建sh文件的目录下

sh celery_worker.sh start # 开启

sh celery_worker.sh stop # 关闭


二后台启动beat


1.新增脚本 

vim /opt/celery_beat.sh

#!/bin/sh

case $1 in  

   start) cd /www/powhost/ && celery -A celery_pro beat -l info >  out.file  2>&1  & ;; # 启动beat ; django项目根目录 :/www/powhost/

esac 



2编写关闭beat的shell文件

vim /opt/beat_stop.sh


#!/bin/sh               

PROCESS=`ps -ef|grep celery|grep -v grep|grep -v PPID|awk '{ print $2}'`

for i in $PROCESS         

do

  echo "Kill the $1 process [ $i ]"  

  kill -9 $i        

done 


3.重新编辑脚本 vim /www/celery_beat.sh


#!/bin/sh

case $1 in  

   start) cd /www/powhost/ && celery -A powhost beat -l info >  out.file  2>&1  & ;; # 启动beat  ; django项目根目录 : /www/powhost/

   stop) su root /www/beat_stop.sh start ;; # 关闭beat(根据beat_stop.sh脚本的路径适当变化)

   *) echo "require start|stop" ;;

esac 



后台启动worker, sh celery_worker.sh start

后台关闭worker, sh celery_worker.sh stop

后台启动beat, sh celery_beat.sh start

后台关闭beat, sh celery_beat.sh stop