zl程序教程

您现在的位置是:首页 >  工具

当前栏目

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

Docker平台分布式分布式 处理 运行 任务 原生
2023-09-14 09:09:03 时间

作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道第一名🏅 阿里云ACE认证高级工程师🏅
✒️个人主页:小鹏linux
💊个人社区:小鹏linux(个人社区)欢迎您的加入!

目录

1. 关于Celery

2.  Celery的架构图

3. 在linux中安装 Celery

 4. 在windows安装Celery

  👑👑👑结束语👑👑👑


1. 关于Celery

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

Celery 官网:http://www.celeryproject.org/

Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html

Celery 官方文档中文版:http://docs.jinkan.org/docs/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安装

# 本机Python环境为Python3.7.4
pip install celery

# 验证安装 查看版本
celery --version

---console---
5.2.3 (dawn-chorus)

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

pip install redis

 4. 在windows安装Celery

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

pip install celery
pip install eventlet

# 验证安装 查看版本
celery --version

---console---
5.2.3 (dawn-chorus)

 5. 在Docker中部署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程序:
from celery import Celery 
app = Celery('hello', broker='amqp://guest@localhost//') 
@app.task 
def hello(): 
    return 'hello world'

  👑👑👑结束语👑👑👑