一、环境配置
1.安装:python3.7.2(这里我是使用此版本做示例)
2. vnc安装(用于可视化监控):apt install xfce4 xfce4-goodies tightvncserver
3. 主要依赖:celery==4.2.1、APScheduler==3.6.3、elasticsearch==7.8.0、rq==1.4.3、redis==3.2.0
二、配置Celery及关联业务任务
1.celery配置:
app = Celery('tasks', broker='redis://127.0.0.1:6379/5')
@app.task
def catch_task(参数):
"""
和业务函数关联上,执行业务
"""
return analysis_task(参数)
2. 任务推送:
"""
1. 如果需要定时调度我们可以使用 BlockingScheduler 定时启动我们任务推送的这个函数
2. 任务推送
"""
for index, task in enumerate(task_list):
# 异步推送任务数据,可多个参数
Celery_work.catch_task.apply_async(args=[task], queue='队列名称')
3. 任务消费:
# 进程杀死:
ps -ef|grep "队列名称"|grep -v grep|cut -c 9-15|xargs kill -9
# 进程打开:
gnome-terminal --title="窗口名称" --maximize -x bash -c "celery -A CeleryCfg.Celery_work worker -Q 队列名称 -c 5 --loglevel=INFO; read"