app开发定制【云原生 | 28】Docker运行分布式任务处理平台Celery

作者简介:🏅app开发定制云计算领域优质创作者🏅app开发定制新星计划第三季pythonapp开发定制赛道第一名🏅 🏅
✒️个人主页:
💊个人社区:欢迎您的加入!

目录


1. 关于Celery

Celery是一个简单、灵活、高可用、高性能的开源(BSD许可)分布式任务处理系统,专注于实时处理的任务队列管理,同时也支持任务调度。Celery基于Python实现,跟包括Django、Pyramid、Pylons、Flask、 Tornado等Web框架都无缝集成,有庞大的用户与贡献者社区。Celery可以单机运行,也可以在多台机器上运行,甚至可以跨越数据中心运行。

Celery 官网:

Celery 官方文档英文版:

Celery 官方文档中文版:

Celery是一个简单、灵活且可靠的,处理大量消息的系统

专注于实时处理的异步任务

同时也支持任务调度

 Celery支持不同的并发和序列化的手段

并发:Prefork, Eventlet, gevent, threads/single threaded
序列化:pickle, json, yaml, msgpack. zlib, bzip2 compression, Cryptographic message signing 等等

2.  Celery的架构图

3. 在linux中安装 Celery

通过pip安装

  1. # 本机Python环境为Python3.7.4
  2. pip install celery
  3. # 验证安装 查看版本
  4. celery --version
  5. ---console---
  6. 5.2.3 (dawn-chorus)

使用redis作为backend和broker,需要本机安装redis,并启动redis-server,还需要安装Python第三方模块redis

pip install redis

 4. 在windows安装Celery

由于官方不支持windows安装和使用,需要借助Python第三方模块eventlet,此模块主要作用通过协程实现并发。

  1. pip install celery
  2. pip install eventlet
  3. # 验证安装 查看版本
  4. celery --version
  5. ---console---
  6. 5.2.3 (dawn-chorus)

 5. 在中部署Celery

启动一个celery worker,即RabbitMQ Broker:

$ docker run --link some-rabbit:rabbit --name some-celery -d celery:latest

检查集群状态:

$ docker run --link some-rabbit:rabbit --rm celery celery status

启动一个celery worker,即Redis Broker:

$ docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --name some-celery -d celery

检查集群状态:

$ docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --rm celery celery status
如果用户使用的框架已有Celery库,那么使用起来会更方便。
下面是Python中调用Celery的hello world程序:
  1. from celery import Celery
  2. app = Celery('hello', broker='amqp://guest@localhost//')
  3. @app.task
  4. def hello():
  5. return 'hello world'

  👑👑👑结束语👑👑👑

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发