91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

沙坪坝区| 涿州市| 化德县| 临西县| 合川市| 开平市| 新田县| 肇州县| 昌吉市| 清新县| 华安县| 旬邑县| 仙桃市| 开远市| 顺昌县| 永城市| 五常市| 宁明县| 汾阳市| 遂平县| 瓮安县| 梁平县| 普安县| 金昌市| 怀宁县| 双牌县| 长沙县| 新安县| 天长市| 屏南县| 外汇| 夏河县| 育儿| 垦利县| 肇源县| 麻栗坡县| 无棣县| 长岭县| 阳曲县| 广汉市| 武清区|