已采納回答 / 稻草人1949
看什么需求了,可以在隊(duì)列里只保存一個(gè)任務(wù)名稱加上這個(gè)任務(wù)所需要的數(shù)據(jù),具體實(shí)現(xiàn)可以定義一個(gè)與這個(gè)名稱相對(duì)應(yīng)的任務(wù)實(shí)現(xiàn)函數(shù)或者是類,取出隊(duì)列就可以根據(jù)任務(wù)名稱來(lái)執(zhí)行任務(wù)了,這樣一個(gè)好處就是不僅僅局限與發(fā)送郵件任務(wù),還可以實(shí)現(xiàn)其他一些任務(wù),當(dāng)然這也帶來(lái)了一個(gè)問(wèn)題,就是內(nèi)存優(yōu)化問(wèn)題,如何保證正確的執(zhí)行完這些任務(wù)內(nèi)存釋放掉,課程中是任務(wù)全部取出并執(zhí)行完畢后腳本就執(zhí)行完畢,也就是php進(jìn)程關(guān)閉,內(nèi)存自然就釋放掉了,那也是局限與當(dāng)有郵件任務(wù)新增時(shí)會(huì)觸發(fā)并啟動(dòng)這個(gè)發(fā)送郵件的進(jìn)程,而大多數(shù)任務(wù)隊(duì)列是沒(méi)有觸發(fā)啟動(dòng)進(jìn)程的,,...
我想老師只是提供一個(gè)思路,讓大家了解隊(duì)列的場(chǎng)景,真實(shí)隊(duì)列應(yīng)用還需要考慮很多問(wèn)題,性能,確保不重復(fù),常駐程序,php有專門的隊(duì)列類庫(kù),用內(nèi)存數(shù)據(jù)庫(kù)的,后臺(tái)常駐的。好像還有專門做隊(duì)列的軟件,類似于消息中間件。
2016-10-10
最新回答 / 慕哥0408927
你建個(gè)表跟他差不多的,存儲(chǔ)需要發(fā)送郵件的郵箱地址,用PHPMAIL的附件發(fā)送方式,跟他那種輪詢一樣, 在phpcli模式,調(diào)用發(fā)送任務(wù)就可以了啊
2016-10-08
比如想做一個(gè)群發(fā)各自的工資到各自的郵箱的?
各自的工資條怎么???怎么匹配其對(duì)應(yīng)的郵箱?
各自的工資條怎么???怎么匹配其對(duì)應(yīng)的郵箱?
2016-10-08
id升序,status=0,后期數(shù)據(jù)量大,每次遍歷整張表,這樣執(zhí)行效率會(huì)不會(huì)很低?
2016-10-08
老師,每次用戶注冊(cè),都用ajax調(diào)用一次do_queue.php來(lái)發(fā)郵件,這只是用ajax發(fā)郵件,后臺(tái)隊(duì)列服務(wù)都沒(méi)寫好呢~ 隊(duì)列邏輯也有問(wèn)題,并發(fā)量大時(shí),會(huì)重復(fù)發(fā)送郵件。
2016-10-06