博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Celery(2):celery快速上手使用
阅读量:2355 次
发布时间:2019-05-10

本文共 1237 字,大约阅读时间需要 4 分钟。

简单使用

github:

码云:

新建tasks.py, 文件内容如下

# coding=utf-8from celery import Celery# celery 的相关配置celery = Celery('tasks', broker='redis://localhost:6379/0')# 具体任务(执行两个数相加)@celery.taskdef add(x, y):    return x + y

注册任务到任务队列

$ celery -A tasks worker -l info  ### -l info表示loglevel等级为info级,也可以设为debug级
  • 输出如下:已经成功加入到task列表中了
    这里写图片描述

调用task

# 打开python交互式环境$ python# 输入一下两行代码# tasks 为tasks.py 的路径(样例是在同一目录下)>>> from tasks import add>>> add.delay(2,5)# 返回结果的编号>>>

可以看到celery 控制台输出了任务执行的日志

这里写图片描述
执行成功,耗时0.000605990000622 结果为15

实际应用(task与配置分离)

新建python 包 celeryTasks ,目录如下

celeryTasks/├── celery.py├── config.py├── __init__.py└── tasks.py

文件内容

celery.py

from __future__ import absolute_import from celery import Celery app = Celery('myCeleryTasks', include=['myCeleryTasks.tasks']) app.config_from_object('myCeleryTasks.config')

config.py

# config filefrom __future__ import absolute_importCELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'BROKER_URL = 'redis://127.0.0.1:6379/0'

tasks.py

from __future__ import absolute_importfrom myCeleryTasks.celery import app @app.taskdef add(x, y):     return x + y

注册task

$ celery -A myCeleryTasks worker -l info

调用

# 进入myCeleryTasks同级目录$ python #打开python交互式环境>>>from myCeleryTasks import add>>>add.delay(1,2)

输出效果和“简单使用”是一样的

你可能感兴趣的文章
在Hadoop中使用MRUnit进行单元测试
查看>>
Type mismatch in key from map: expected .. Text, received … LongWritable
查看>>
详解Java内存机制(堆与栈)的分配
查看>>
The Small Files Problem
查看>>
Hadoop Archive解决海量小文件存储
查看>>
Hadoop SequenceFile Writer And Reader
查看>>
Custom KeyValueTextInputFormat
查看>>
Hadoop0.20+ custom MultipleOutputFormat
查看>>
Eclipse:Run on Hadoop 没有反应
查看>>
最小堆
查看>>
Hadoop用于和Map Reduce作业交互的命令
查看>>
Hadoop MapReduce Job性能调优——修改Map和Reduce个数
查看>>
X Chen笔记----Centos6.9安装rsycn文件同步
查看>>
X Chen笔记----Ubuntu关闭防火墙
查看>>
移动固态硬盘中安装Ubuntu18.04,并且运行于其他电脑
查看>>
记录修改Ubuntu用户名和密码
查看>>
关于最小生成树的Prim算法和Kruskal算法
查看>>
linux常用命令
查看>>
每天一个linux命令(13):less 命令
查看>>
java读写分离
查看>>