参考

  1. celery
    pip install celery==4.1.1
    https://www.cnblogs.com/wdliu/p/9530219.html
    https://www.jianshu.com/p/6f8576a37a3e
  2.  
  3. 定时:
    https://blog.csdn.net/Leo062701/article/details/90613651
    https://blog.csdn.net/sicofield/article/details/50937338

配置

dj_01/dj_01/__init__.py

  1. import pymysql
  2. from .celery import app as celery_app
  3.  
  4. pymysql.install_as_MySQLdb()
  5. __all__ = ['celery_app']

dj_01/dj_01/celery.py

  1. from __future__ import absolute_import, unicode_literals
  2. import os
  3. from celery import Celery
  4. from django.conf import settings
  5. # set the default Django settings module for the 'celery' program.
  6. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_01.settings')
  7.  
  8. app = Celery('dj_01',backend='amqp', broker='amqp://guest:guest@localhost:5672//')
  9. app.config_from_object('django.conf:settings')
  10. app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

dj_01/dj_01/setting.py

  1.  
  1. INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mytest',
  2.  
  3. )
  1.  
  2. # Celery 设置
  3. # CELERY_BROKER_URL = 'redis://localhost:6379/0'
  4. BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//'
  5. CELERY_ACCEPT_CONTENT = ['json']
  6. CELERY_TASK_SERIALIZER = 'json'
  7. CELERY_RESULT_SERIALIZER = 'json'
  8. # CELERY_RESULT_BACKEND = 'django-db'
  9. CELERY_TIMEZONE = 'Asia/Shanghai'
  10.  
  11. from datetime import timedelta
  12.  
  13. # 定时任务
  14. CELERYBEAT_SCHEDULE = {
  15. 'add-every-30-seconds': {
  16. 'task': 'mytest.tasks.add', # 任务名
  17. 'schedule': timedelta(seconds=2), # 每2s执行一次该任务
  18. 'args': (2, 3)
  19. }
  20. }

异步任务

服务:celery -A dj_01 worker -l info

app/tasks.py

  1. from time import sleep
  2. from celery import shared_task
  3.  
  4. @shared_task #celery -A dj_01 worker -l info
  5. def celeryTest(*ags,**kwargs):
  6. print('耗时操作任务start...')
  7. print(ags)
  8. print(kwargs)
  9. sleep(10)
  10. print('耗时操作任务end...')

app/view.py

  1.  
  1. from .tasks import celeryTest
  1. 1 def testt(req):
  2. d = {
  3. "result":'',
  4. }
  5.  
  6. res = celeryTest.delay(json.dumps(d))
  7. print("res:%s"%res) #b9020fb2-61c1-494d-8e66-a86776943c76
  1. return render(req, 'acc_login.html')

定时任务

服务:celery -A dj_01 beat -l info

  1. https://blog.csdn.net/Leo062701/article/details/90613651
    https://blog.csdn.net/sicofield/article/details/50937338

celery+django+mq 异步任务与定时任务的更多相关文章

  1. Django+Celery+xadmin实现异步任务和定时任务

    Django+Celery+xadmin实现异步任务和定时任务 关注公众号"轻松学编程"了解更多. 一.celery介绍 1.简介 [官网]http://www.celerypro ...

  2. Celery+python+redis异步执行定时任务

    我之前的一篇文章中写了[Celery+django+redis异步执行任务] 博文:http://blog.csdn.net/apple9005/article/details/54236212 你会 ...

  3. Django+Celery 执行异步任务和定时任务

    celery是一个基于python开发的简单.灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度.采用典型的生产者-消费者模型,主要由三部分组成: 1. 消 ...

  4. celery异步任务、定时任务

    阅读目录 一 什么是Celery? 二 Celery的使用场景 三 Celery的安装配置 四 Celery异步任务 五Celery定时任务 六在Django中使用Celery   一 什么是Cele ...

  5. Django中Celery http请求异步处理(四)

    Django中Celery http请求异步处理 本章延续celery之前的系列 1.settings配置 2.编写task jib_update_task任务为更新salt jid数据 3.url设 ...

  6. 日夕如是寒暑不间,基于Python3+Tornado6+APScheduler/Celery打造并发异步动态定时任务轮询服务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_220 定时任务的典型落地场景在各行业中都很普遍,比如支付系统中,支付过程中因为网络或者其他因素导致出现掉单.卡单的情况,账单变成了 ...

  7. celery+Rabbit MQ实战记录

    基于以前的一篇文章,celery+Rabbit MQ的安装和使用, 本文更加详细的介绍如何安装和使用celey, Rabbit MQ. 并记录在使用celery时遇到的一些问题. 1.安装 Rabbi ...

  8. Celery+redis实现异步

    目录 Celery+redis实现异步 安装redis 安装celery-with-redis 添加celery相关配置 创建异步运行任务tasks.py 启动 Celery+redis实现异步 安装 ...

  9. Linux下搭建实现HttpRunnerManager的异步执行、定时任务及任务监控

    前言 在之前搭建的HttpRunnerManager接口测试平台,我们还有一些功能没有实现,比如异步执行.定时任务.任务监控等,要完成异步执行,需要搭建 RabbitMQ 等环境,今天我们就来实现这些 ...

随机推荐

  1. js中的正则表达式小结1

    正则表达式总结 创建正则对象:var regex=new RegExp(/\d/); 一般都用直接量,写法更简洁:var regex=/\d/; test()方法用来验证字符串是否符合规则,返回tru ...

  2. OpenCV.物体识别

    1.度娘:“OpenCV 物体识别” 1.1.opencv实时识别指定物体 - 诺花雨的博客 - CSDN博客.html(https://blog.csdn.net/qq_27063119/artic ...

  3. C#,CLR,IL,JIT概念 以及 .NET 家族

    C#,CLR,IL,JIT概念 以及 .NET 家族   Monitor 类通过向单个线程授予对象锁来控制对对象的访问.对象锁提供限制访问代码块(通常称为临界区)的能⼒.当 ⼀个线程拥有对象的锁时,其 ...

  4. GrapeCity Documents (服务端文档API组件) V3.0 正式发布

    近日,葡萄城GrapeCity Documents(服务端文档API组件)V3.0 正式发布! 该版本针对 Excel 文档.PDF 文档和 Word 文档的 API 全面更新,加入了用于生成 Exc ...

  5. js轮播图和bootstrap中的轮播图

    js中的轮播图案例: <!DOCTYPE html><html lang="en"> <head> <meta charset=" ...

  6. 【51nod】2589 快速讨伐

    51nod 2589 快速讨伐 又是一道倒着推改变世界的题... 从后往前考虑,设\(dp[i][j]\)表示还有\(i\)个1和\(j\)个\(2\)没有填,那么填一个1的话直接转移过来 \(dp[ ...

  7. ubuntu下安装navicat

    1.去官网下载 https://www.navicat.com/en/download/navicat-premium 2.命令行输入(解压命令) tar -zxvf xxxxx.tar.gz 3.移 ...

  8. 剑指offer46:圆圈中最后剩下的数字(链表,递归)

    1 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随 ...

  9. LRU算法简介

    LRU是什么? 按照英文的直接原义就是Least Recently Used,最近最久未使用法,它是按照一个非常注明的计算机操作系统基础理论得来的:最近使用的页面数据会在未来一段时期内仍然被使用,已经 ...

  10. Python http.server中获取Post的请求报文

    今天在自学http.server请求命令, 各个字段都很好理解, 但唯独想打印获取Post请求报文时, 被难住了, 网上找了很多帖子, 官方的文档也刷了几遍, 但没有一个明确的答复. 后来不经意间看到 ...