博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
celery+rabbitmq基本使用
阅读量:6812 次
发布时间:2019-06-26

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

版本:

  (celery==4.3,rabbitmq==3.7)

一.使用rabbitmq

# 安装rabbitMQ(mac)brew install rabbitmq# 配置环境变量(.bash_profile或.profile,注意路径)export RABBIT_HOME=/usr/local/Cellar/rabbitmq/3.7.15export PATH=$PATH:$RABBIT_HOME/sbin# 设置RabbitMQ:创建一个用户,一个虚拟主机并设置权限,(需要先启动服务)sudo rabbitmqctl add_user myuser mypasswordsudo rabbitmqctl add_vhost myvhost  # 虚拟主机sudo rabbitmqctl set_user_tags myuser mytag  # administratorsudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"#启动服务sudo rabbitmq-server# 后台运行sudo rabbitmq-server -detached# 不要kill(1)来停止服务器sudo rabbitmqctl stop

二.celery使用

# 安装 pip install celery

  应用

# tasks.pyfrom celery import Celeryapp = Celery(    'tasks',  # 当前模块的名字    broker='amqp://guest@localhost:port//'  # 消息队列的url)@app.taskdef add(x, y):    return x + y

  运行worker

celery -A tasks worker --loglevel=info

  调用任务

# delayfrom tasks import addadd.delay(arg1,arg2,kwarg1='x',kwarg2='y')add.delay(*args, **kwargs).apply_async(args, kwargs)# apply_asynctask.apply_async(args=[arg1,arg2], kwargs={
'kwargs':'x','kwargs':'y'})tasks.apply_async((arg,), {
'kwarg': value})# 从现在起10秒内执行tasks.apply_async(countdown=10) # 从现在起10秒内执行,使用指定etatasks.apply_async(eta=now + timedelta(seconds=10))# 从现在起一分钟后执行,但在2分钟后过期tasks.apply_async(countdown=60, expires=120)# 在2天后到期,设置使用datetime对象T.apply_async(expires=now + timedelta(days=2))# send_task:任务未在当前进程中注册app.send_task('任务', args=[arg,], queue='default')# signature用于传递任务调用签名的对象(例如通过网络发送),并且它们也支持calling apitask.s(arg1,arg2,kwarg1='x',kwargs2='y').apply_async()

 

转载于:https://www.cnblogs.com/lianyeah/p/11057333.html

你可能感兴趣的文章
三、事件循环
查看>>
自动化测试神器 之 python unittest 断言
查看>>
[LeetCode]题解(python):067-Add Binary
查看>>
Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
查看>>
云计算与虚拟化
查看>>
最短路(path)
查看>>
Micropython教程之TPYBoard开发板制作电子时钟(萝卜学科编程教育)
查看>>
JAVA日期加减运算
查看>>
ubuntu下安装mysql及卸载mysql方法
查看>>
git安装方法
查看>>
php屏蔽错误消息
查看>>
POST形式 soapUI调用WebService的restful接口,传入json参数,并且返回json
查看>>
HOOK NtCreateSection
查看>>
策略模式(Strategy)
查看>>
ELK 企业内部日志分析系统
查看>>
Java的反射 基础+简单复制对象实例
查看>>
IIS访问设置
查看>>
关于for in和for循环的遍历
查看>>
react privateRoute
查看>>
Jenkins_获取源码编译并启动服务(二)
查看>>