Python并行分布式框架之Celery

概述:Celery是基于Python开发的分布式异步消息队列,通过Celery可以轻松的实现任务的异步处理,和定时任务。

Celery架构四大部分:

broker:消息中间件,是任务队列本身(常用的有redis、rabbitmq等)

backend:结果存储

workor:任务执行者

task:需执行的任务

应用:

​ 异步调用:那些用户不关心的但是又存在在我们API里面的操作 我们就可以用异步调用的方式来优化(发送邮件 或者上传头像)

​ 定时任务:

​ 定期去统计日志,数据备份,或者其他的统计任务

使用:上文中有提到,是Celery+redis 配合使用

补充定时任务:

settings文件配置

在settings.py文件添加
CELERYBEAT_SCHEDULE = {
    'schedule-test': {
        'task': 'app的名字.tasks.hello_celery',
        'schedule': timedelta(seconds=3),
        'args': (2,)
    },
}

计划任务时间:

from celery.schedules import crontab
crontab(minute=u'00', hour=u'11',day_of_week='mon,tue,wed,thu,sun')

示例如下:
 'every-week-three-and-four-run-get_data_with_param':{
        'task': 'APP的名字.tasks.get_data_with_param',
        'schedule': crontab(day_of_week="3, 4"),
        'args':(4, )
    }

 

你可能感兴趣的:(Python并行分布式框架之Celery)