在django中使用celery和RabbitMQ

之前說過安裝RabbitMQ-------》Linux下安裝RabbitMQ
今天講一下django中使用celery和RabbitMQ
一.安裝

pip3 install Celery
pip3 install django-celery

二.django中的配置
1.settings.py文件

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ···
    'djcelery',
]
···
import djcelery
djcelery.setup_loader()
CELERY_BROKER_URL = 'amqp://域名:5672/0' # Broker配置祥国,這個值再RabbitMQ頁面可以找到
CELERY_RESULT_BACKEND = 'amqp://域名' # BACKEND配置
RabbitMQ頁面的amqp

2.在settings.py文件同級下新增celery.py文件

# coding:utf8
from __future__ import absolute_import
import os
from celery import Celery,platforms
from django.conf import settings

# 為 Celery 命令行程序設(shè)置了 DJANGO_SETTINGS_MODULE 變量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myshop.settings')
#創(chuàng)建了一個實例
app = Celery('myshop')
#加載項目設(shè)置中任意的定制化配置
app.config_from_object('django.conf:settings')
#在每個應(yīng)用路徑下查找 task.py 來加載定義在其中的異步任務(wù)
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
#C_FORCE_ROOT =true用root權(quán)限執(zhí)行
platforms.C_FORCE_ROOT = True

@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

3.修改同級的init.py文件

from __future__ import absolute_import
from .celery import app as celery_app
__all__=['celery_app']

4.在應(yīng)用目錄下新建tasks.py文件轴术,引入你應(yīng)用的異步任務(wù)

from celery import shared_task
from django.core.mail import send_mail

@shared_task
def order_created():
    subject = '標題'
    message = '一句話'
    mail_sent = send_mail(subject, message,'發(fā)送郵箱號',[接收人郵箱號])
    return mail_sent

5.把異步任務(wù)添加到需要的視圖中啊送,我是添加在訂單完成后給用戶發(fā)送提醒郵件這里
在views.py 文件中

···
from .tasks import order_created
···
order_created.delay()
···

三.運行celery worker

 python3 manage.py celery worker -c 4 --loglevel=info
運行結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坏快,一起剝皮案震驚了整個濱河市晒衩,隨后出現(xiàn)的幾起案子增淹,更是在濱河造成了極大的恐慌膛堤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壳影,死亡現(xiàn)場離奇詭異拱层,居然都是意外死亡,警方通過查閱死者的電腦和手機宴咧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門根灯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掺栅,你說我怎么就攤上這事烙肺。” “怎么了氧卧?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵桃笙,是天一觀的道長。 經(jīng)常有香客問我沙绝,道長搏明,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任闪檬,我火速辦了婚禮星著,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粗悯。我一直安慰自己虚循,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布样傍。 她就那樣靜靜地躺著邮丰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铭乾。 梳的紋絲不亂的頭發(fā)上剪廉,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音炕檩,去河邊找鬼斗蒋。 笑死,一個胖子當著我的面吹牛笛质,可吹牛的內(nèi)容都是我干的泉沾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼妇押,長吁一口氣:“原來是場噩夢啊……” “哼职辅!你這毒婦竟也來了锦庸?” 一聲冷哼從身側(cè)響起夹抗,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丁存,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柴我,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡解寝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了艘儒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聋伦。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖界睁,靈堂內(nèi)的尸體忽然破棺而出觉增,到底是詐尸還是另有隱情,我是刑警寧澤翻斟,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布逾礁,位于F島的核電站,受9級特大地震影響杨赤,放射性物質(zhì)發(fā)生泄漏敞斋。R本人自食惡果不足惜截汪,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一疾牲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衙解,春花似錦阳柔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暑椰,卻和暖如春霍转,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背一汽。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工避消, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人召夹。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓岩喷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親监憎。 傳聞我的和親對象是個殘疾皇子纱意,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355