美文网首页
python与分布式任务队列celery

python与分布式任务队列celery

作者: Py_Explorer | 来源:发表于2018-08-23 11:13 被阅读0次

1. celery的简单使用

#celery结合redis的操作
#coding=utf-8
from docx import Document  
# document = Document()
# document.save('test.docx')
# -*- coding:utf8 -*-
import time
from celery import Celery
celery = Celery('tasks', broker='redis://localhost:6379/0')
# 如果有redis密码
# celery = Celery('tasks', broker='redis://:foobared@localhost:6379/0')

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

1. 首先打开redis

2. 在当前目录下启动celery

   celery  -A demo[为文件名]  worker --loglevel=info

3. 跟进任务

   进入python控制台
   >>> from tasks import add
   >>> add.delay(2, 5)
   <AsyncResult: 4c079d93-fd5f-47f0-8b93-c77a0112eb4e>

这个”delay()”方法会将任务发送到消息中间人队列,并由之前启动的后台职程来执行。所以这时Python控制台上只会返回”AsyncResult”信息。如果你看下之前职程的启动窗口,你会看到多了条日志”Task tasks.add[4c079d93-fd5f-47f0-8b93-c77a0112eb4e] succeeded in 0.0211374238133s: 7″。说明”add”任务已经被调度并执行成功,并且返回7。

4. 关于配置,可看celery操作一节。

5. 关于并发

任务的并发默认采用多进程方式,Celery也支持gevent或者eventlet协程并发。方法是在启动职程时使用”-P”参数:

celery worker  -A  demo1  --loglevel=info  -P  gevent  -c  100

通过”-P gevent”我们就将并发改为了gevent方式了;”-c 100″同之前介绍的”concurrency”参数,指定了并发个数。对于gevent不熟悉的朋友,可以看看我之前的文章。另外默认多进程方式的参数值是”prefork”。

相关文章

  • Celery初体验

    Celery与任务队列 Celery是Python中流行的分布式任务队列。所谓分布式任务队列,是一种将任务分发到不...

  • 实现简单的python3+flask+celery+redis框

    详解python3+flask+celery+redis Celery是什么? Celery是个异步分布式任务队列...

  • celery--turorial

    Celery Celery (芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/...

  • celery redis rabbitMQ各是什么及之间的区别?

    Celery: Celery是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线...

  • django+celery异步任务

    什么是celery Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器...

  • python-分布式任务队列

    celery 分布式任务队列工具 Celery是一个分布式任务队列工具,是一个异步的任务队列基于分布式消息传递 基...

  • celery的python实践

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

  • celery学习笔记

    Celery 标签(空格分隔): celery Celery是一个分布式任务队列工具,是一个异步的任务队列基于分布...

  • Celery分布式任务队列

    一、Celery介绍和使用: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的...

  • 部署celery

    一、Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松...

网友评论

      本文标题:python与分布式任务队列celery

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