Celery分布式任务系统的思考

最近在看Celery的任务执行框架,一直没有理解所谓的一个broker来对应多个worker是怎么实现分布式的,这里提出自己的思考:是否是多个worker配置的broker是同一个,对应的task是同样的,这样来实现从一个broker到多个worker的分布式框架。如果是这样,那么将其理解为分布式的框架就很容易了。

学习笔记:

Brokers:  任务队列,即生产者-消费者模型;

backend:结果的存储;

Workers:任务的执行者,消费者;

Tasks:要Wroker来执行的任务.

执行worker:celery -A  脚本名  worker --loglevel=info

执行定时任务: celery -A 脚本名 beat

celery的worker运行在不同的机器上,每台机器上有多个task进程;

worker运行的时候连接到broker,在控制机器上脚本直接向broker发送任务即可;

so,要建立一个broker,在不同机器上运行celery worker。

celery的任务发布节点也就是broker所在的节点,worker节点只是用来执行任务的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容