zoukankan      html  css  js  c++  java
  • django celery(QQ蓝鲸)

    官方:http://www.celeryproject.org

    文档:http://docs.jinkan.org/docs/celery/index.html

    FAQ:http://docs.celeryproject.org/en/master/faq.html

     为什么使用Celery?

    基础配置

    基于QQ蓝鲸平台配置,以下截取配置,qq蓝鲸这里本身不需配置任何东西。

    ddefault.py

    # 是否启用celery任务,等于false  django就不使用celery
    IS_USE_CELERY = True
    # 本地开发的 celery 的消息队列(RabbitMQ)信息
    BROKER_URL_DEV = 'amqp://guest:guest@127.0.0.1:5672/'
    # TOCHANGE 调用celery任务的文件路径, home_application目录下有个celery_tasks.py文件里面写异步函数就可以
    CELERY_IMPORTS = (
        'home_application.celery_tasks',
    )

    启动celery

    1启动django

    python manage.py runserver 127.0.0.1:8000

    2启动celery工作进程

    python manage.py celery --settings=settings worker -l info

    3启动周期任务(使用周期任务就启用,不使用就不启用)

    python manage.py celery --settings=settings celerybeat -l info

    执行后台任务

    增加urls

    增加
     (r'^async/$', 'my_async'),

    celery_tasks.py 蓝鲸中定义的位置和名字,在这文件中增加方法的时候必须要重启work服务

    1 @task()
    2 def async_task(x, y):
    3     """
    4     定义一个 celery 异步任务
    5     """
    6     7     return x + y

    增加方法不重启服务回报下面的错误:

    view

    1 from celery_tasks import async_task
    2 def my_async(reqeust):
    3     task_id=async_task.delay(1,2)#delay异步执行,返回结果就是一个任务id
    4     print(task_id)
    5     return HttpResponse("ok")

    work界面结果:

    获取异步结果

  • 相关阅读:
    powerpc调试工具的使用
    微软的开发工具是我见过比较难用的
    Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)
    静态工厂方法和实例工厂方法
    理解.NET Framework
    .NET相关的概念简介
    二、文档工具 swagger
    Java Web学习(二)数据加密
    Java Web学习(一)Web基础
    Oracle学习(十二)标量函数
  • 原文地址:https://www.cnblogs.com/menkeyi/p/6867776.html
Copyright © 2011-2022 走看看