celery 分布式异步队列框架使用方法
简介:
Celery 是一个python开发的异步分布式任务调度模块,是一个消息传输的中间件,可以理解为一个邮箱,每当应用程序调用celery的异步任务时,会向broker传递消息,然后celery的worker从中取消息
Celery 用于存储消息以及celery执行的一些消息和结果
对于brokers,官方推荐是rabbitmq和redis
对于backend,也就是指数据库,为了简单一般使用redis
安装:
windows下:
pip install celery
pip install eventlet (运行需要依赖此包)
linux 下:
pip install celery
crontab_task,taobaovideo_task 分别是两个任务,
main.py
from celery import Celery
import os #将settings添加到环境中
os.environ['DJANGO_SETTINGS_MODULE'] = 'TaoBaoVideoProject.settings' #注册异步app 参数是你的项目名称
celery_app = Celery('TaoBaoVideoProject')
#导入配置文件
celery_app.config_from_object('celery_tasks.config')
celery_app.autodiscover_tasks(['celery_tasks.taobaovideo_task','celery_tasks.crontab_task'])
# 最下面这行,每加一个任务,在这里注册写入即可,
config.py
broker_url = "redis://127.0.0.1:6379/5" #redis设置密码的:redis://xxxxxxx@127.0.0.1:6379/5
result_backend = "redis://127.0.0.1:6379/6"
timezone = 'Asia/Shanghai'
# 这里注意首先需要把redis数据库安装完成
tasks.py中
视图函数中这样调用:
启动命令:
celery -A celery_tasks.main worker -l info -P eventlet
这个则代表启动成功,如果实在服务器上运行的话我们需要添加守护进程,命令如下:
celery multi start w1 -A celery_tasks.main -l info --logfile=./celerylog.log
这个则代表运行成功,并在当前文件夹生成日志文件
查询该任务的执行结果:
具体实现细节可参考:https://www.cnblogs.com/cwp-bg/p/8759638.html
celrey定时任务实现:
tasks.py中:
from celery.task import periodic_task
from utils.crontab_video_method import TaoBaoVideoUpload @periodic_task(run_every=) #90秒执行一次该方法
def crontab_upload_video():
TaoBaoVideoUpload().detection_video()
return '定时任务执行成功'
命令:
celery -A celery_tasks.main beat -l info
成功运行结果如下:
具体方法参考:https://www.cnblogs.com/52forjie/p/9364136.html
celery 分布式异步队列框架使用方法的更多相关文章
- 安装 rabbitmq ,通过生成器获取redis列表数据 与 Celery 分布式异步队列
一.安装rabbitmq @全体成员 超简易安装rabbitmq文档 1.安装配置epel源rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ ...
- celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)
一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...
- Celery分布式异步任务框架
一.什么是Celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统.专注于实时处理的异步任务队列,同时也支持定时任务 二.Celery架构 1.Celery的架构由三部分组成: 消 ...
- 【转】快速理解Kafka分布式消息队列框架
from:http://blog.csdn.net/colorant/article/details/12081909 快速理解Kafka分布式消息队列框架 标签: kafkamessage que ...
- celery分布式异步框架
1.什么是Celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组成,消息中间件( ...
- 快速理解Kafka分布式消息队列框架
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ ==是什么 == 简单的说,K ...
- [转载] 快速理解Kafka分布式消息队列框架
转载自http://blog.csdn.net/xiaolang85/article/details/18048631 ==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息 ...
- Python开发【模块】:Celery 分布式异步消息任务队列
Celery 前言: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个 ...
- 分布式队列celery 异步----Django框架中的使用
仅仅是个人学习的过程,发现有问题欢迎留言 一.celery 介绍 celery是一种功能完备的即插即用的任务对列 celery适用异步处理问题,比如上传邮件.上传文件.图像处理等比较耗时的事情 异步执 ...
随机推荐
- 2.1 MATLAB的数据类型
2.1 MATLAB的数据类型 每种数据类型都是以矩阵的形式存在的 数据类型:数值型.字符型.元胞型.结构体.函数句柄 数值型包含:双精度类型.单精度类型.整型 支持不同数据的转换 2.1.1 变量与 ...
- 【Java面试宝典】JavaSE_2.1_Java基础● 请你说说Java和PHP的区别?
文章目录 ①eechen的回答 - 知乎 ②h4cd-开源中国 ③乔·沃特金斯-Musings, ninja ones-思考,忍者 什么是准时制? 为什么PHP需要JIT? JIT可以使我的网站更快吗 ...
- PHP冒泡排序原生代码
//冒泡排序 $arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588); $n =count($arr); //echo ...
- 发送http请求和https请求的工具类
package com.haiyisoft.cAssistant.utils; import java.io.IOException;import java.util.ArrayList; impor ...
- jsp页面中使用javabean
<%@ page language="java" import="java.util.*,com.loaderman.demo.b_cases.*" pa ...
- Carousel 走马灯
在有限空间内,循环播放同一类型的图片.文字等内容 基础用法 适用广泛的基础用法 结合使用el-carousel和el-carousel-item标签就得到了一个走马灯.幻灯片的内容是任意的,需要放在e ...
- JMeter4.0以上 分布式测试报错 "server failed start Listen failed on port"
使用JMeter4.0做分布式测试的是否,我的电脑作为肉鸡(执行机),双击jmeter-server.bat后显示失败 Found ApacheJMeter_core.jarUsing local p ...
- [spring]基于注解的spring配置
Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是创建对象由以前的程序员自己new 构造方法来调 ...
- Ironic 裸金属实例的部署流程
目录 文章目录 目录 逻辑架构 部署架构 前提条件 部署流程 iSCSI Deploy UML PXE Deploy Driver Direct Deploy UML IPA Deploy Drive ...
- Windows下查找文件或文件夹被哪个进程占用
Linux下我们可以使用lsof +D /filepath/,查看到文件被那些进程占用. windows下也会经常遇到文件夹或文件无法删除或无法访问的问题,使用“资源监视器”可以找到占用的进程,可以尝 ...