zoukankan      html  css  js  c++  java
  • django-celery

    在settings.py里installed_apps里添加 djcelery

    需安装django-celery

    在settings末端添加

    import djcelery
    djcelery.setup_loader()
    
    BROKER_URL = 'amqp://guest:guest@localhost:5672//'
    CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//'
    
    
    CELERY_TASK_SERIALIZER = 'json'
    CELERY_RESULT_SERIALIZER = 'json'
    CELERY_ACCEPT_CONTENT = ['json']

    CELERY_IMPORTS = ('hello.tasks', ) CELERY_TIMEZONE = TIME_ZONE CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' CELERY_ALWAYS_EAGER = True

    新建一个app

    里面新建一个tasks.py

    from celery import task
    
    
    @task
    def add(x, y):
        return x+y
    
    
    @task
    def prints():
        print 'xiao'

    需安装

    sudo apt-get install rabbitmq-server

    启动rabbitmq-server

    关闭rabbitmq-server -detached

    查看状态rabbitmqctl status

    运行celery

    python manage.py celery worker --loglevel=info

    或者后台运行celery

    $ nohup django-admin.py celeryd worker -B --loglevel=info --settings=settings --pythonpath=. &

    celery运行定时任务

    python manage.py celery beat

    查看celery是否正常运行

    $ ps aux | grep celery

    关闭celery

    ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9

    进入Django的admin后台,进入Djcelery栏目,一共有四个选项:

    • Crontabs

    在此选项中,可以创建定时执行的任务需要的定时时间。

    • Intervals

    在此选项中,可以创建间隔执行的任务需要时间间隔。

    • Periodic tasks

    在此选项中,创建一个相应的任务,选择任务,需要定时执行的时间或者时间间隔,并保存。

    当然,还有其他一些高级的选项,可以尝试使用。

    • Tasks

    • Workers

    到此,一个任务便创建成功了。不出意外,创建的任务会如期执行,当然,如果创建的没有 如期执行的,应该依次检查前面的步骤,查看celery是否在运行,创建的task是否报错等等, 一级一级排除错误。

  • 相关阅读:
    Android Studio 开发
    Jsp编写的页面如何适应手机浏览器页面
    电影
    Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
    sql server 2008 自动备份
    WINGIDE 激活失败
    python安装 错误 “User installations are disabled via policy on the machine”
    ble编程-外设发送数据到中心
    iOS开发-NSString去掉所有换行及空格
    ios9 字符串与UTF-8 互相转换
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/4191511.html
Copyright © 2011-2022 走看看