亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python Django2.0集成Celery4.1教程

發布時間:2020-09-06 04:11:25 來源:腳本之家 閱讀:108 作者:Immok 欄目:開發技術

環境準備

Python3.6

pip install Django==2.0.1

pip install celery==4.1.0

pip install eventlet (加入協程支持)

安裝erlang和rabbitMQ-server

配置settings.py文件

在settings.py文件中添加如下內容

...
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672'

在settings.py同級目錄創建celery.py

celery.py

注意替換: project_name

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

# 設置環境變量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings')

# 注冊Celery的APP
app = Celery('project_name')
# 綁定配置文件
app.config_from_object('django.conf:settings', namespace='CELERY')

# 自動發現各個app下的tasks.py文件
app.autodiscover_tasks()

修改settings.py同級目錄的init.py文件

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ['celery_app']

在某個APP中創建tasks.py文件

tasks.py

# -*- coding: utf-8 -*-

from celery.task import task

# 自定義要執行的task任務
@task
def print_hello():
  return 'hello celery and django...'

配置周期性任務或定時任務

再次編輯settings.py文件,添加如下內容

定時任務的配置格式參考:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html

from celery.schedules import crontab
CELERY_BEAT_SCHEDULE = {
  # 周期性任務
  'task-one': {
    'task': 'app.tasks.print_hello',
    'schedule': 5.0, # 每5秒執行一次
    # 'args': ()
  },
  # 定時任務
  'task-two': {
    'task': 'app.tasks.print_hello',
    'schedule': crontab(minute=0, hour='*/3,10-19'),
    # 'args': ()
  }
}

啟動worker和定時任務

啟動worker (切換到manage.py同級目錄下執行)

celery -A project_name worker -l info -P eventlet

啟動定時任務或周期性任務

celery -A project_name beat -l info

這里備注一下:最好使用supervisord來管理上面這2條命令

存放任務結果的擴展

pip install django-celery-results
Install APP
INSTALLED_APPS = (
  ...,
  'django_celery_results',
)

生成數據庫表:python manage.py migrate django_celery_results

配置settings:CELERY_RESULT_BACKEND = 'django-db' (用數據庫存放任務執行結果信息)

以上這篇Python Django2.0集成Celery4.1教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六安市| 英吉沙县| 屯昌县| 新余市| 吉首市| 晋宁县| 黄石市| 松原市| 开阳县| 进贤县| 天水市| 萨迦县| 武安市| 睢宁县| 三亚市| 宁河县| 缙云县| 泗洪县| 冕宁县| 凤庆县| 贺兰县| 麦盖提县| 马公市| 忻州市| 辽阳市| 铜鼓县| 寿宁县| 安福县| 如东县| 来宾市| 枣庄市| 鄂尔多斯市| 若羌县| 连南| 黄冈市| 厦门市| 五峰| 巴南区| 行唐县| 遂溪县| 淳化县|