celery Django 简单示例
一、目录结构

二、创建worker文件夹
__init__.py
# -*- coding:utf-8 -*-
import os
from celery import Celery, platforms
# elery不能root用户启动解决(C_FORCE_ROOT environment)
platforms.C_FORCE_ROOT = True
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "upload_pro.settings")
# 创建Celery Application
celery_app = Celery('upload_pro')
celery_app.config_from_object('worker.config')
celery_app.autodiscover_tasks()
def call_by_worker(func):
""" 将任务在 Celery 中异步执行 """
task = celery_app.task(func)
return task.delay
config.py
# -*- coding:utf-8 -*-
# 将此文件celery启动 windows celery worker -A worker --loglevel=info -P gevent
# 将此文件celery启动 linux celery worker -A worker --loglevel=info
# 本地测试
# broker_url = 'redis://192.168.10.10:6379/8'
broker_url = 'redis://:root1234@A@192.168.8.191:7007/11'
broker_pool_limit = 1000 # Broker 连接池 默认为10
timezone = 'Asia/Shanghai'
accept_content = ['pickle', 'json']
task_serializer = 'pickle'
result_expires = 3600 # 任务过期时间
# 本地测试
# result_backend = 'redis://192.168.10.10:6379/8'
result_backend = 'redis://:root1234@A@192.168.8.191:7007/11'
result_serializer = 'pickle'
result_cache_max = 1000 # 任务结果最大缓存数量
worker_redirect_stdouts_level = 'INFO'
三、启动
celery worker -A worker --loglevel=info -P gevent
from worker import call_by_worker
# celery worker -A worker --loglevel=info -P gevent # @call_by_worker
def add():
time.sleep(10)
return 10 @csrf_exempt
def get_celery(request):
if request.method == "GET":
# 'application/x-zip-compressed'表示返回的文件格式是zip,根据需要替换
res = add()
response = HttpResponse(js_data, 'text/javascript')
return response
return JsonResponse({"code": 1001})
celery Django 简单示例的更多相关文章
- web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例
Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...
- Ubuntu18.04安装和配置Django,并实现简单示例
一.前言(系统,django介绍,window.mac.linux简单区别) Django是python开发过程最重要的web框架.因为在看的Django教学视频是在mac下安装的,我自己用的是Lin ...
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- SignalR 简单示例
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
随机推荐
- IDEA的Debug技巧
01_Debug简介和意义 什么是程序DeBug? Debug,是程序开发人员必会的一项调试程序的技能. 企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作 ...
- 1079 Total Sales of Supply Chain
A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...
- RF-日期时间拼接(20191024_195355)
*** Test Cases *** testGetTime @{time}= Get Time year month day hour min sec ${sDate}= Catenate SEPA ...
- RING3级下枚举用户进程的基本姿势
简述 Ring3用户态下查看进程信息的基本方法 代码样例 #include <cstdio> #include <iostream> #include <cstdlib& ...
- IDS入侵检测系统
目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...
- UVA11991第k次出现的v的下标
题意: 给你一个有n个数的数字序列,然后有m组询问,每组询问是问第k次出现的v在序列里的小标是多少? 思路: 简单题目,直接开个二维的容器就行了,标记出现次数可以开个数组或者是一维 ...
- 19.Vuex详细使用说明-一篇文章涵盖所有知识点
vuex官网: https://vuex.vuejs.org/zh/ 一. 前言 不管是Vue,还是 React,都需要管理状态(state),比如组件之间都有共享状态的需要. 什么是共享状态? 比如 ...
- 深入浅出带你玩转sqlilabs(二)
MYSQL高权限注入 mysql跨库注入 详情请看上一篇:深入浅出带你玩转sqlilabs(一) mysql文件操作注入-sqlilabs less7 可能用到的函数: into outfile()函 ...
- SSM中事务的配置模板
Spring-tx.xml 配置思路: 1. 声明事务管理器DataSourceTransactionManager,并注入数据源dataSource属性 2.配置事务增强<tx:advice& ...
- pyhive的基本使用
安装 yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib # 解决报错:sasl/sasl.h: No such file or di ...