celery的简单使用
一 安装celery
#首先进行一些简单配置
pip install celery
apt-get install erlang
apt-get install rabbitmq-server
二 开始操作
#开启rabbitmq-server命令如下
service rabbitmq-server start
vi /var/log/rabbitmq/rabbit\@ubuntu.log
执行上述操作后会显示如下

有些系统显示的是None
显示没有找到配置文件.需要我们自己创建这个文件
cd /etc/rabbitmq/
vi rabbitmq.config
编辑内容如下
[{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
保存配置后重启服务:
service rabbitmq-server restart
此时就可以从外部访问了,但此时再看log文件,发现内容还是原来的,还是显示没有找到配置文件,可以手动删除这个文件再重启服务,不过这不影响使用
rm rabbit@localhost.log
service rabbitmq-server restart
这时查看log,发现没问题

开启管理UI:
rabbitmq-plugins enable rabbitmq_management
在Windows下打开地址:
http://192.168.24.179:15672
用户名密码都是guest

三 利用celery执行异步任务
创建tasks.py文件
写入以下代码
#coding:utf-8
from celery import Celery
import time
app = Celery('tasks',backend='amqp', broker='amqp://guest@127.0.0.1:5672//')
@app.task
def add(x, y):
print 'hello celery'
time.sleep(10)
return x + y
新建一个终端,启动celery服务
celery -A tasks worker --loglevel=info

执行任务

也可以循环执行add函数来测试同步和异步的特点,例如执行10000次看他们的区别
四 利用celery执行定时任务
创建time_task.py文件.主要职责是每隔10秒输出hello,每隔30秒输出world,每周一早上7点半输出Happy Mondays.你也可以改造成根据用户生日定时发送生日贺卡邮件或者每周一备份数据库等功能
from celery import Celery
from celery.schedules import crontab app = Celery() @app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
# Calls test('hello') every 10 seconds.
sender.add_periodic_task(10.0, test.s('hello'), name='add every 10') # Calls test('world') every 30 seconds
sender.add_periodic_task(30.0, test.s('world'), expires=10) # Executes every Monday morning at 7:30 a.m.
sender.add_periodic_task(
crontab(hour=7, minute=30, day_of_week=1),
test.s('Happy Mondays!'),
) @app.task
def test(arg):
print(arg)
新建一个终端 , 命令如上

以上就是celery常用的两种简单操作了, 如有疑问, 请留言!!!
celery的简单使用的更多相关文章
- Celery框架简单实例
Python 中可以使用Celery框架 Celery框架是提供异步任务处理的框架,有两种用法,一种:应用程式发布任务消息,后台Worker监听执行,好处在于不影响应用程序继续执行.第二种,设置定时执 ...
- django celery redis简单测试
希望在下一版中,能用这个小芹菜,来实现异步的多任务并行哈. 安装REDIS之类的不表,只说在DJANGO当中要注意配置的事项. 0,安装插件 yum install redis-server pip ...
- 在windows环境利用celery实现简单的任务队列
测试使用环境: 1.Python==3.6.1 2.MongoDB==3.6.2 3.celery==4.1.1 4.eventlet==0.23.0 Celery分为3个部分 (1)worker部分 ...
- celery Django 简单示例
一.目录结构 二.创建worker文件夹 __init__.py # -*- coding:utf-8 -*-import osfrom celery import Celery, platforms ...
- supervisor + celery 的简单配置与报错处理
ubuntu服务器下使用 supervisor 和 celery supervisor 的卸载过程: sudo apt purge supervisor whereis supervisord如果有用 ...
- Python Celery队列
Celery队列简介: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery. 使用 ...
- 异步任务利器Celery(一)介绍
django项目开发中遇到过一些问题,发送请求后服务器要进行一系列耗时非常长的操作,用户要等待很久的时间.可不可以立刻对用户返回响应,然后在后台运行那些操作呢? crontab定时任务很难达到这样的要 ...
- celery概述
celery介绍 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单.celery看起来似乎很庞大,本章节我们先对其进行简单的了解,然后再去学习其他一些高级特性 ...
- Celery - 一个懂得 异步任务 , 定时任务 , 周期任务 的芹菜
1.什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储 ...
随机推荐
- PJzhang:钓鱼域名生成工具urlcrazy
猫宁!!! www.baidu.com和www.baibu.com是不是很相似,urlcrazy可以自动生成一大批. 这款工具的作者是Andrew Horton 工具下载地址: http://www. ...
- 十步学习法 -- 来自<<软技能>>一书的学习方法论
<<软技能>>第三篇“学习”,作者讲述了自己的学习方法:十步学习法.下面我用编程语言的方式来介绍. 十步学习法 伪代码介绍 # **这一步的目的不是要掌握整个主题,而是对相关内 ...
- 如何使用 python 接入虹软 ArcFace SDK
公司需要在项目中使用人脸识别SDK,并且对信息安全的要求非常高,在详细了解市场上几个主流人脸识别SDK后,综合来看虹软的Arcface SDK比较符合我们的需求,它提供了免费版本,并且可以在离线环境下 ...
- FMZ发明者量化平台回测机制说明
原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发 ...
- [转帖]Mysql binlog 介绍
binlog介绍 1.什么是binlog binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等 ...
- [转]史上最最最详细的手写Promise教程
我们工作中免不了运用promise用来解决异步回调问题.平时用的很多库或者插件都运用了promise 例如axios.fetch等等.但是你知道promise是咋写出来的呢? 别怕-这里有本promi ...
- 【51nod】2027 期望问题
[51nod]2027 期望问题 %%%zsy 看不懂题解的垃圾选手在zsy大佬的讲解下终于知道了这道题咋做-- 先把所有\(a\)从大到小排序 设\(f_{i}\)为前\(i\)个数组成的排列的值, ...
- java获取单张网页中img标签中的src
/** * 得到网页中图片的地址 */ public static List<String> getImgStr(String htmlStr) { List<String> ...
- dede时间标签
dedecms首页时间标签:1.12-27 样式([field:pubdate function='strftime("%m-%d",@me)'/]) 2.May 15, 2009 ...
- 【Python基础】13_Python中的PASS
pass关键字的使用 在程序分支中,如果不想立刻执行该分支,可使用pass占位符,pass不表示任何含义,仅保证程序不会报错. 如: action_str = input("请选择希望执行的 ...