php任务队列有什么优势,PHP使用任务队列这个词的含义,到底什么是任务队列
最近一個聽到一個詞:任務隊列。
任務隊列指的是什么呢?
我自己有一個理解,就是比如用戶使用郵件注冊,注冊成功以后要給注冊郵箱發一封信息。因為發郵件是很耗時的操作,所以將郵件放在隊列中異步處理,不占用主線程。使用隊列是不是就是這樣的場景呢?
求大神解惑,傳道!
回復內容:
最近一個聽到一個詞:任務隊列。
任務隊列指的是什么呢?
我自己有一個理解,就是比如用戶使用郵件注冊,注冊成功以后要給注冊郵箱發一封信息。因為發郵件是很耗時的操作,所以將郵件放在隊列中異步處理,不占用主線程。使用隊列是不是就是這樣的場景呢?
求大神解惑,傳道!
Yes, u 2 right.
可以給你提供一個方案,在 Redis 里面維護一個 List,業務代碼給 List 里面插入郵箱地址,另外有一個腳本從 Redis 里面讀到郵箱地址,專門做發送郵件的工作。
我寫的一篇博客給出了 PHP 和 Redis 實現隊列的示例:http://upliu.net/php-use-redis-as-queue-service.html
另外,天生異步的開發語言如Node.JS,進行網絡請求(針對題主的場景就是發送郵件)的過程中不會阻塞住腳本的運行。
當然使用多進程也是可以的,在主進程里面 fork 出一個子進程,然后子進程去發送郵件,主進程繼續執行其邏輯。不過我覺得這樣略顯蛋疼~
就是這樣的。不過我通常不會用 php 來做這種持續性操作。
我的理解要按順序執行的東西才用隊例。
竟然你都啟子線程了,為什么不多啟幾個子線程并行處理?
略顯淺薄,求輕噴。
相關標簽:php 隊列
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php任务队列有什么优势,PHP使用任务队列这个词的含义,到底什么是任务队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dotnet vs code mysql
- 下一篇: 动态规划算法php,php算法学习之动态