基于php的应用程序,基于PHP的Web应用程序和群发邮件
我開發(fā)了一個網(wǎng)絡(luò)應(yīng)用程序,全國各地的學(xué)生都可以來這里報名參加某些學(xué)術(shù)目的.預(yù)計明年用戶將達(dá)到10萬左右.
我需要定期向所有這些人發(fā)送郵件.該網(wǎng)絡(luò)應(yīng)用是使用Codeigniter開發(fā)的. php腳本可以運行3000秒.但是該應(yīng)用仍然無法將郵件發(fā)送給超過100個用戶.
我運行的計算機位于云中,并且具有256MB內(nèi)存.我使用了free -m命令來檢查內(nèi)存使用情況,但這似乎不是問題.一切正常,可以處理10-20封郵件.
最好的解決方案是什么?有什么辦法可以將這項工作轉(zhuǎn)移到其他應(yīng)用程序/程序/ shell腳本中?
解決方法:
將其從Web服務(wù)器線程中移出并獨立運行是非常合適的.通常,對于類似這樣的事情,我在數(shù)據(jù)庫中有一些表,這些表是從網(wǎng)站上寫入相應(yīng)信息的,因此,當(dāng)我準(zhǔn)備發(fā)送電子郵件時,后端的某些東西可以將電子郵件組合起來并發(fā)送出去.如果要發(fā)送100,000封電子郵件,您將需要多線程的郵件.
在這種情況下,為此最好使用許多現(xiàn)成的工具之一,而不是重新發(fā)明輪子.我們在這里使用Campaign Enterprise的舊版本,并且可以向它拋出查詢,我可以使用這些查詢通過ODBC直接從Web數(shù)據(jù)庫中提取數(shù)據(jù).考慮到您身處云中,這可能對您不太有效.
編輯:您還可以編寫一個PHP腳本來執(zhí)行此操作,然后從外殼程序中調(diào)用PHP.也許您可以通過這種方式解決超時限制? (這是假設(shè)您指的是某些服務(wù)級別的超時.如果您正在談?wù)摮R?guī)的PHP超時,則可以使用set_time_limit()來解決.)
標(biāo)簽:codeigniter,email,php
來源: https://codeday.me/bug/20191209/2096229.html
總結(jié)
以上是生活随笔為你收集整理的基于php的应用程序,基于PHP的Web应用程序和群发邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .html .php .asp,html
- 下一篇: java中接口适配器实现,12.1.8