美文网首页我爱编程
python 学习笔记(分布式任务调度模块 Celery)

python 学习笔记(分布式任务调度模块 Celery)

作者: 我是帅气的石头 | 来源:发表于2018-05-27 23:21 被阅读0次

Celery是Python开发的分布式任务调度模块
Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,Celery支持的消息服务有RabbitMQ、Redis甚至是数据库,当然Redis应该是最佳选择。
Celery 专注于实时任务处理,支持任务调度。

理解

image.png

想让 Celery 运行起来我们要明白几个概念

(1)Brokers

brokers 中文意思为中间人,在这里就是指任务队列本身,Celery 扮演生产者和消费者的角色,brokers 就是生产者和消费者存放/拿取产品的地方(队列)

常见的 brokers 有 rabbitmq、redis、Zookeeper 等

(2)Result Stores / backend

顾名思义就是结果储存的地方,队列中的任务运行完后的结果或者状态需要被任务发送者知道,那么就需要一个地方储存这些结果,就是 Result Stores 了

常见的 backend 有 redis、Memcached 甚至常用的数据都可以。

(3)Workers

就是 Celery 中的工作者,类似与生产/消费模型中的消费者,其从队列中取出任务并执行

(4)Tasks

就是我们想在队列中进行的任务咯,一般由用户、触发器或其他操作将任务入队,然后交由 workers 进行处理。

使用

安装

安装celery
pip install celery
pip install redis

例子

在服务器上安装redis服务器,并启动redis
第一个简单的例子:
[root@localhost celery]# cat ling.py
#/usr/bin/env python
#-*- coding:utf-8 -*-
from celery import Celery
broker="redis://192.168.48.131:6379/5"
backend="redis://192.168.48.131:6379/6"
app = Celery("ling", broker=broker, backend=backend)

@app.task
def add(x, y):
return x+y

相关文章

  • 使用Celery踩过的坑

    为什么要使用celery Celery是一个使用Python开发的分布式任务调度模块,因此对于大量使用Python...

  • python 学习笔记(分布式任务调度模块 Celery)

    Celery是Python开发的分布式任务调度模块Celery本身不含消息服务,它使用第三方消息服务来传递任务,目...

  • python 异步任务框架 Celery 入门,速看

    简介 Celery 是使用 python 编写的分布式任务调度框架。 它有几个主要的概念: celery 应用 用...

  • celery的python实践

    celery的python实践 简介 Celery是专注实时处理和任务调度的分布式任务队列。 在程序的运行过程中,...

  • Python celery 学习笔记

    概述    celery是一个python实现的分布式任务执行框架,本文为学习笔记: python 3.8.6 c...

  • 任务调度利器:Celery

    Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异...

  • Flask:在Flask中使用Celery实现异步任务

    摘要:Flask,Celery Celery简介 Celery是一个专注于实时处理和任务调度的分布式任务队列,使用...

  • 异步神器celery

    一. celery 简介 Celery 是一个专注于实时处理和任务调度的分布式任务队列, 同时提供操作和维护分布式...

  • celery 简介

    一. celery 简介 Celery 是一个专注于实时处理和任务调度的分布式任务队列, 同时提供操作和维护分布式...

  • Redis Sentinel 主从高可用配置

    由于分布式微博爬虫中使用celery作为分布式任务调度工具,使用redis作为celery的broker.由于re...

网友评论

    本文标题:python 学习笔记(分布式任务调度模块 Celery)

    本文链接:https://www.haomeiwen.com/subject/idoijftx.html