美文网首页
celery异步调度

celery异步调度

作者: 咏远瑞智 | 来源:发表于2018-07-30 16:33 被阅读0次

一、Celery介绍

    Celery是一个功能完备即插即用的任务队列

    Celery适用异步处理问题,比如发送邮件、文件上传,图像处理等等比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验

二、Celery特点:

 简单,易于使用和维护,有丰富的文档

    高效,单个Celery进程每分钟可以处理数百万个任务

    灵活,Celery中几乎每个部分都可以自定义扩展

    Celery非常易于集成到一些web开发框架中

三、安装Celery:pip install celery

四、Celery组成结构

    任务队列是一种跨线程、跨机器工作的一种机制

    任务队列中包含任务的工作单元。有专门的工作进程持续不断的监视任务队列,并从中获得新的任务并处理

    Celery通过消息进行通信,通常使用一个叫broker(中间人)来协client(任务的发出者)和worker(任务的处理者)

    client发出消息到队列中,broker将队列中的信息派发给worker来处理

    一个Celery系统可以包含很多的worker和broker,可增强横向扩展性和高可用性能。

    Celery组成结构是生产者消费者模型的一种体现

五、使用步骤

    1、在子应用文件夹下创建异步调度文件夹,文件夹名任意取,这里命名为celery_tasks

    2、在celery_tasks文件夹下创建main.py文件,用作启动文件

3、在启动文件中创建celery对象,#创建Celery对象 #参数main 设置脚本名 app = Celery('celery_tasks')

    4、中间人broker,

    示例:此处演示Redis数据库作为中间人broker

    Celery需要一种解决消息的发送和接受的方式,我们把这种用来存储消息的的中间装置叫做message broker, 也可叫做消息中间人。

并在main.py文件中加载配置文件app.config_from_object('celery_tasks.config')

5、 在celery_tasks包中创建sms包,并创建tasks文件,让celery自动检测任务,

6、在启动文件中自动加载任务app.autodiscover_tasks(['celery_tasks.sms'])

7、在config.py文件中配置worker工人,

8、我们需要指令让Celery单独执行,需要在虚拟环境中执行

celery -A celery对象的路径 worker -l info

celery -A celery_tasks.main worker -l info

    

相关文章

  • python | 定时异步调度系统的实现

    说起异步调度系统,大家肯定第一时间想到celery,但是celery是一个重量级的模块,当我们只想异步调度,没有其...

  • celery异步调度

    一、Celery介绍 Celery是一个功能完备即插即用的任务队列 Celery适用异步处理问题,比如发送邮件...

  • ubuntu django 基于redis的celery应用

    Celery版本: 4.3Celery专注于实时处理的任务队列,同时也支持任务调度,简单来讲就是支持延时异步任务和...

  • Python 异步任务队列Celery 使用

    Celery 介绍 celery是处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时支持任务调度 在 P...

  • Python之celery的简介与使用

    celery的简介   celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。...

  • Django使用celery异步处理任务

    什么是celery celery 是一个用来异步处理多任务的三方库,可以提供任务调度、实时处理的灵活框架。详细介绍...

  • Python爬虫之使用celery加速爬虫

      celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。关于celery的更...

  • celery的uuid,真的全球唯一吗?

    引言 在使用开源的分布式任异步务调度框架Celery时, 每一个Celery task,都会返回一个128位的uu...

  • Celery基本使用

    celery的简介 celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。它的...

  • Celery入门

    概念 Celery是一个异步任务的调度工具,是Distributed Task Queue,分布式任务队列,分布式...

网友评论

      本文标题:celery异步调度

      本文链接:https://www.haomeiwen.com/subject/blbfvftx.html