欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Django2.0集成Celery4.1教程

 更新時間:2019年11月19日 16:07:23   作者:Immok  
今天小編就為大家分享一篇Python Django2.0集成Celery4.1教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

環(huán)境準備

Python3.6

pip install Django==2.0.1

pip install celery==4.1.0

pip install eventlet (加入?yún)f(xié)程支持)

安裝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同級目錄創(chuàng)建celery.py

celery.py

注意替換: project_name

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

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

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

# 自動發(fā)現(xiàn)各個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中創(chuàng)建tasks.py文件

tasks.py

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

from celery.task import task

# 自定義要執(zhí)行的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秒執(zhí)行一次
    # 'args': ()
  },
  # 定時任務
  'task-two': {
    'task': 'app.tasks.print_hello',
    'schedule': crontab(minute=0, hour='*/3,10-19'),
    # 'args': ()
  }
}

啟動worker和定時任務

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

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',
)

生成數(shù)據(jù)庫表:python manage.py migrate django_celery_results

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

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

相關文章

  • Pipenv輕量級虛擬環(huán)境管理工具使用指南

    Pipenv輕量級虛擬環(huán)境管理工具使用指南

    這篇文章主要為大家介紹了Pipenv輕量級虛擬環(huán)境管理工具使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • python開發(fā)一款翻譯工具

    python開發(fā)一款翻譯工具

    這篇文章主要介紹了如何用python開發(fā)一款翻譯工具,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-10-10
  • node命令行服務器(http-server)和跨域的實現(xiàn)

    node命令行服務器(http-server)和跨域的實現(xiàn)

    本文主要介紹了node命令行服務器(http-server)和跨域的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • pygame游戲之旅 添加游戲暫停功能

    pygame游戲之旅 添加游戲暫停功能

    這篇文章主要為大家詳細介紹了pygame游戲之旅的第13篇, 教大家如何添加游戲暫停功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python 如何保存json文件并格式化

    Python 如何保存json文件并格式化

    這篇文章主要介紹了Python 如何保存json文件并格式化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 給Python初學者的一些編程技巧

    給Python初學者的一些編程技巧

    這篇文章主要介紹了給Python初學者的一些編程技巧,皆是基于基礎的一些編程習慣建議,需要的朋友可以參考下
    2015-04-04
  • Python中Numpy與TensorFlow版本兼容問題完美解決辦法

    Python中Numpy與TensorFlow版本兼容問題完美解決辦法

    這篇文章主要給大家介紹了關于Python中Numpy與TensorFlow版本兼容問題的完美解決辦法,確保Python版本與TensorFlow版本兼容是首要任務,因為不兼容的組合可能導致導入錯誤或其他運行時問題,需要的朋友可以參考下
    2024-07-07
  • 實例講解Python的函數(shù)閉包使用中應注意的問題

    實例講解Python的函數(shù)閉包使用中應注意的問題

    這里我們來以實例講解Python的函數(shù)閉包使用中應注意的問題,主要針對閉包后新生成的變量來不及初始化而導致找不到變量的錯誤出現(xiàn),需要的朋友可以參考下
    2016-06-06
  • python經(jīng)典100題之皮球掉落的幾種解法

    python經(jīng)典100題之皮球掉落的幾種解法

    這篇文章主要給大家介紹了關于python經(jīng)典100題之皮球掉落的幾種解法,這個問題相信不少人都可以從網(wǎng)絡上找到相對應的答案本文提供了3種解法,需要的朋友可以參考下
    2023-11-11
  • python3報錯check_hostname?requires?server_hostname的解決

    python3報錯check_hostname?requires?server_hostname的解決

    這篇文章主要介紹了python3報錯check_hostname?requires?server_hostname的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論