zoukankan      html  css  js  c++  java
  • python之celery简介

    1、 技术分享

    角色:   任务模块  (生产商,仓库发货员)

                 Broker   (快递员)

                队列/MQ   (菜鸟驿站)

                Worker   (驿站工作人员,个人)

      通过一周定时任务的开发及学习,celery有三大模块 (可以通过快递员,菜鸟驿站,个人等角色的角度来理解)

    A、任务模块

      Celery包含异步任务和定时任务,异步任务一半在业务逻辑中触发(目前测试平台前端点击项目运行,就会触发后端异步任务,每个项目下的父用例就是一个待执行的任务,将待执  行的任务存入MQ队列中,等待work执行),而定时任务时由我们通过celery 提供的beat命令,将任务推至MQ队列中,等待work执行。

      通俗点理解:beat可以理解为仓库发货员,打个电话给快递员(Broker)说,我这边有货(任务)要寄到某个驿站(队列)

    B、消息中间件 Broker:

      Broker即为任务调度队列,但是本身又部提供队列。

      通俗理解:Broker可以理解为快递员,而队列就可以理解为菜鸟驿站了,而Broker这个快递员只负责将快递运送到驿站,却不负责从驿站取货。

    C、任务执行单元 Worker:

      Worker是任务执行单元,它会实时监控消息队列,获取队列中的调度任务,并执行它

      通俗理解:Worker可以理解为驿站工作人员和我们个人,驿站工作人员实时监控有没有快递送到驿站,若是有会获取快递中的号码,发个信息或者打个电话给到个人,而个人去驿站取到快递并拆开快递,就相当于work执行了一个任务

    备注:celery不提供任务队列的存储,可以采取MQ,Redis来存储队列中的任务。

     

     

  • 相关阅读:
    (转)Nginx配置和内核优化 实现突破十万并发
    (转)资源监控工具Spotlight监测LINUX
    (转) linux I/O优化 磁盘读写参数设置
    (转)MongoDB numa系列问题三:overcommit_memory和zone_reclaim_mode
    (转)mongdb性能优化收集
    (转)部署MongoDB时需要注意的调参
    (转)Loadrunner监控Linux的17个指标
    (转)linux 内存管理——内核的shmall 和shmmax 参数
    (转)Linux性能调优之虚拟内存篇
    (转)LR监控Linux系统性能计数器详解
  • 原文地址:https://www.cnblogs.com/tar8087/p/13575844.html
Copyright © 2011-2022 走看看