Sha*_*dra 5 job-queue rabbitmq celery
由于芹菜是一个工作队列/任务队列,名称说明它可以维护其任务并对其进行处理。那么为什么它需要像rabbitmq或redis这样的消息代理?
Celery是分布式任务队列,这意味着系统可以跨多个位置的多台计算机驻留
基本架构如下:
worker-可以从总线上获取作业(任务队列)并处理数据的进程,可以将结果放入总线中,以供其他工人进行进一步处理
bus-任务队列,这是一个简单的数据库,用于将作业存储为消息,因此工作人员可以检索它们,实现并发且无阻塞的db非常重要,因此,当一个进程从总线上/从总线上放置或放置作业时,它不会不会阻止其他工人从事/从事自己的工作,redis并且activemq是此类行为的最佳人选
作为api的bas,因此您可以将作业提交给总线,以供工人在其上工作,其中
Celery包括一个scheduler(节拍)功能,该功能定期将特定作业放在总线上,从而创建一个定期任务
让我们以一个剪贴示例为例,您想剪贴整个世界,但是中国只能允许来自该地区的流量,欧洲和美国也是如此,因此您可以建立一个工作人员并将其安置在亚马逊的计算中心中
因此,您只能使用一辆公共汽车(假设它位于美国),所有其他工人都知道这辆公共汽车并且可以连接到它,因此,通过在位于美国的公共汽车上放置特定的工作(废弃中国),这在中国是一个过程可以在上面工作,因此可以分发
我建议阅读正式文档,这很简单
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |