已采納回答 / 稻草人1949
看什么需求了,可以在隊列里只保存一個任務名稱加上這個任務所需要的數據,具體實現可以定義一個與這個名稱相對應的任務實現函數或者是類,取出隊列就可以根據任務名稱來執行任務了,這樣一個好處就是不僅僅局限與發送郵件任務,還可以實現其他一些任務,當然這也帶來了一個問題,就是內存優化問題,如何保證正確的執行完這些任務內存釋放掉,課程中是任務全部取出并執行完畢后腳本就執行完畢,也就是php進程關閉,內存自然就釋放掉了,那也是局限與當有郵件任務新增時會觸發并啟動這個發送郵件的進程,而大多數任務隊列是沒有觸發啟動進程的,,...
2016-10-15
我想老師只是提供一個思路,讓大家了解隊列的場景,真實隊列應用還需要考慮很多問題,性能,確保不重復,常駐程序,php有專門的隊列類庫,用內存數據庫的,后臺常駐的。好像還有專門做隊列的軟件,類似于消息中間件。
2016-10-10
最新回答 / 慕哥0408927
你建個表跟他差不多的,存儲需要發送郵件的郵箱地址,用PHPMAIL的附件發送方式,跟他那種輪詢一樣, 在phpcli模式,調用發送任務就可以了啊
2016-10-08
老師,每次用戶注冊,都用ajax調用一次do_queue.php來發郵件,這只是用ajax發郵件,后臺隊列服務都沒寫好呢~ 隊列邏輯也有問題,并發量大時,會重復發送郵件。
2016-10-06