flask_celery

Flask Celery的使用
一般情况下,这个是由架构师,或者资深一点的程序员搭建,由于flask没有固定的格式 可能都大有不同,
但是一般都有以下几点,首先有个celery的配置文件,或者celery配置的专门代码段,其次,将配置传递给celery,然后有具体的task 也就是你写的函数,在上边加入装饰器。具体给你举个栗子:
配置文件:或者说是配置代码:
CELERYBEAT_SCHEDULE = {
‘every-minute’: {
‘task’: ‘celery_tasks.used_apk_cdn’,
# ‘schedule’: crontab(minute=’/1’),
# ‘args’: (1,2),
‘schedule’: timedelta(seconds=5)
},
}
这个是具体配置文件,每当你写一个定时任务的时候都需要在这个字典里添加配置,这里就是:
‘every-minute’: {
‘task’: ‘celery_tasks.used_apk_cdn’,
# ‘schedule’: crontab(minute=’
/1’),
# ‘args’: (1,2),
‘schedule’: timedelta(seconds=5)
},
首先 every-minute 这个是自己定义的名字,其次这个里面的数据,
task 这个是你的在注册的时候 给赋的值,下边具体的注册的时候会有代码展示。
schedule 这个就是你要设置的执行的时间啊,或者频率啊 等等
这介绍一些例子啊
crontab(minute=‘*/1’)。这个就是用minute 分钟时间除以1得到的整数的时间就会去执行,这个里面也有小时,周 天,等等
crontab(minute=“45”, hour=“5”)。 每天的5点45执行

crontab(minute=“2”, hour=0, day_of_month=1) 每个月的第一天的0点02分执行

crontab(minute=“55”, hour=8, day_of_week=1) 每周的第一天的8点55执行

crontab(minute=“40”, hour=8, day_of_week=“1,4”)。 每周的第一天第四天的8点40执行

crontab(minute=’*/30’, hour=‘9-23’)。每天的9点到23点的分钟除以30为整数的时间执行

Args 这个就是你的函数的在一开始需要传入的参数 ,函数不需要传值就不需要写这个

celery.config_from_object(‘celeryconfig’) 这个是吧配置文件给导入的,这个应该是他们配置好的,你应该接触不到

这里就是你具体的函数怎么写
@celery.task(name=‘celery_tasks.used_apk_cdn’)
def used_apk_cdn():
logging.info(“lalala”)
pass
这个你看啊 这个装饰器里的name 就是你上边task里面的值。 然后在这个函数里就写要干的事情。 啦啦啦啦

上一篇:DI依赖注入-Spring学习


下一篇:把Autofac玩的和javaSpring一样6