前幾天在自己寫的郵件項目中遇到這樣一個問題:比如當(dāng)我要點擊“發(fā)送驗證信息到我的郵件”按鈕后第步,因發(fā)送郵件會占用網(wǎng)絡(luò)I/O疮装,在發(fā)送郵件和成功跳轉(zhuǎn)頁面之間會有短暫的等待。雖然說等待時間不長粘都,但也難免令人感覺不爽廓推。隨后便想到使用異步隊列任務(wù)來處理這個問題。所以今天來給介紹一下異步隊列任務(wù)神奇-----Celery
以下代碼均在Ubuntu下運行通過翩隧,如果真不行的話樊展,來打我啊啊~~
Celery英文原意為芹菜的意思,使用Python編寫堆生。不知開發(fā)者為何給她起這個名字专缠。如果讓我來起,我愿賜給她一個叫做“Cane(甘蔗)”的名字淑仆。因為她是異步隊列嘛藤肢,像甘蔗一節(jié)一節(jié)的嘁圈,更有隊列的感覺,不是嗎?
扯遠(yuǎn)了...
下面介紹使用Celery所需要的組件(Ubuntu環(huán)境):
1.Celery是必須的:
sudo pip install celery
2.安裝Broker服務(wù)(中間人服務(wù)):
我將Redis作為Broker服務(wù)最住。貌似Celery官方更建議在項目中使用RabbitMQ作為消息隊列服務(wù)器涨缚。不管了策治,我說用Redis就用Redis。
3.還要安裝Celery與Redis的連接插件:celery-with-redis:
sudo pip install celery-with-redis
安裝完以上環(huán)境后茂翔,必須開啟Broker服務(wù)履腋。默認(rèn)安裝完Redis后便已開啟了Redis的服務(wù)惭嚣,不過你還是可以用命令行是一下晚吞。
- 啟動Redis
$ redis-server
之后便彈出一大串英文:注意中間的說明谋国,如下:
Redis 2.8.4 (00000000/0) 32 bit ##Redis的版本號
Running in stand alone mode ##運行在獨立模式下
Port: 6379 ##端口號6379
PID: 5463 ###進(jìn)程號5463
還有最后的一段文字:
[5463] 17 Apr 20:47:27.753 * The server is now ready to accept connections on port 6379
意思是Redis服務(wù)已經(jīng)在6379端口上準(zhǔn)備好了捌蚊,待您開搞!
- 如果還不確定Redis是否啟動旅急,則可在終端命令行輸入以下命令
$ redis-cli
127.0.0.1:6379>ping
PONG
表示成功安裝并啟用牡整。
上面均為前戲,接下來才是真正認(rèn)識Celery谣辞。請看用過才知道真的那么好系列(二)