celery的实战使用

1. 下载celery

pip install celery

2.创建celery实例(flask框架中)

celery = Celery(__name__)  # 创建实例
celery.config_from_object('amsapp.celery_conf') # 引用相关配置文件

3.配置文件

BROKER_URL = 'redis://0.0.0.0:6379/0' 
CELERY_RESULT_BACKEND = 'redis://0.0.0.0:6379/1'  # 任务返回信息存储地址
CELERY_TIMEZONE = 'Asia/Shanghai'# 启动时区设置
CELERY_ENABLE_UTC = True# 在5s内完成任务,否则执行该任务的worker将被杀死,任务移交给父进程CELERY_TASK_TIME_LIMIT = 5# 并发worker数
CELERYD_CONCURRENCY = 10# 单个任务的运行时间限制,否知会被杀死CELERYD_TASK_TIME_LIMIT = 10
CELERY_FORCE_EXECV = True  # 非常重要,防止死锁# 
CELERY_DISABLE_RATE_LIMITS = True  # 任务发出后,经过一段时间还未收到acknowledge就将任务交给其他work执行

4.创建异步任务执行函数

@celery.task()
def task_001():
	"相关操作"
	...............

5.在flask框架中使用task

from yyyyy import task_001
with current_app.app_context():
	task_001.delay()

6.启动celery任务

普通启动:
celery -A start:celery worker -l info -f logs/celery.log
######start是去后缀的启动文件名称######
守护进程启动:
celery multi start w1 -A start:celery -l info -f logs/celery.log
######第一个start表示启动,还有stop,reload两个操作;第二个start是去后缀的启动文件名称#########

7.优雅kill掉celery程序

1.ps -ef|grep celery|grep -v grep|cut -c 9-15|xargs kill -9

2.celery multi stop w1 -A start:celery -l info -f logs/celery.log

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值