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 ...
随机推荐
- E - Minimal Subarray Length(连续区间和)
题目链接 题意:给出n个数,求加和大于x的最短区间的区间长度. 如果前i个数字和为y,那么如果前j数字的和小于等于y-x,那么i-j就是一种可能的情况,我们对于所有的i找出前面最大的j就可以了,因为数 ...
- 10276 - Hanoi Tower Troubles Again!(思维,模拟)
People stopped moving discs from peg to peg after they know the number of steps needed to complete t ...
- Nginx篇
1 基本操作命令 先CD到nginx.exe目录 启动nginx服务 nginx start nginx 优雅停止nginx,有连接时会等连接请求完成再杀死worker进程 nginx -s quit ...
- hdu1287 破译密码
题意: 破译密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 一个简单的Android木马病毒的分析
一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...
- DVWA之Insecure Captcha
Insecure CAPTCHA Insecure CAPTCHA,意思是不安全的验证码,CAPTCHA是Completely Automated Public Turing Test to Tell ...
- [CTF]栅栏密码
[CTF]栅栏密码 --------------------- 作者:adversity` 来源:CSDN 原文:https://blog.csdn.net/qq_40836553/articl ...
- 学习Canvas绘图与动画基础 为多边形着色(三)
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- 深入浅出带你玩转sqlilabs(五)-布尔/延时盲注与二次注入
SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 ...
- Linux下线程pid和tid
#include <stdio.h> #include <pthread.h> #include <sys/types.h> #include <sys/sy ...