celery分布式设计

本文介绍了Celery的架构,包括Celery Beat任务调度器、Celery Worker执行任务的消费者、Broker消息代理(本例中使用redis)、Producer任务生产者以及Result Backend结果存储(同样使用redis)。基于此,提出了一个分布式设计方案:任务发布者通过后台添加股票并触发回测,任务调度按照设定时间调用;消息代理使用redis存储股票代码;任务消费者在多台机器上运行worker执行回测任务;回测结果存入redis并显示在后台。文中还给出了启动worker的命令以及所使用的Celery和kombu版本。
摘要由CSDN通过智能技术生成

Celery的架构

  • Celery包含如下组件:
  1. Celery Beat:任务调度器,Beat进程会读取配置文件的内容,周期性地将配置中到期需要执行的任务发送给任务队列(一般用于定时任务使用)。
  2. Celery Worker:执行任务的消费者,通常会在多台服务器运行多个消费者来提高执行效率。
  3. Broker:消息代理,或者叫作消息中间件,接受任务生产者发送过来的任务消息,存进队列再按序分发给任务消费方(本方案使用redis)。
  4. Producer:调用了Celery提供的API、函数或者装饰器而产生任务并交给任务队列处理的都是任务生产者。
  5. Result Backend:任务处理完后保存状态信息和结果,以供查询。(本方案使用redis来存储结果)

Celery的架构图如图所示。

celery架构图

根据celery架构图将分布式设计方案如下。

  1. 任务发布者:产品在后台添加股票完成之后,点击回测,然后分发任务都不同的机器。
  2. 任务调度:按照设定的时间调用delay方法。
  3. 消息代理:使用redis来存储股票代码。每次执行的股票代码都是从redis读取。
  4. 任务消费者:在不同的机器上开启wo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值