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来存储队列中的任务。

     

     

  • 相关阅读:
    UEmacs/PK Keybindings
    ubunut install golang
    vyos ipsec l2tp simple experiment
    Lynx 命令行操作
    Linux开启路由转发功能
    PROTEUS的元器件及模型制作
    5G模拟网自动化测试的需求和挑战
    vyos site-to-site ipsec simple experiment
    kubeadm 搭建 k8s 时用到的常用命令汇总
    html 特殊符号标记
  • 原文地址:https://www.cnblogs.com/tar8087/p/13575844.html
Copyright © 2011-2022 走看看