我有一個數據庫充滿了用戶帳戶和鏈接到這些用戶帳戶的其他信息。我想爲用戶提供設置自動電子郵件的能力,通知他們新的數據已被添加到鏈接到他們賬戶的各種表格中。來自用戶帳戶數據庫的自動電子郵件
我不是在尋找完整的代碼,而是在這裏正確的方向。我一直在尋找和閱讀最後一天,並看到了許多不同的意見。
目標是用戶將定義一個電子郵件地址和速率來檢查新的數據。例如他們提供[email protected]和15分鐘。完成此操作後,我想每15分鐘檢查一次新數據是否已添加到其帳戶中,如果是,則通過電子郵件提醒他們。我沒有問題寫實際的代碼來做到這一點,只是不確定「正確」的方法來處理腳本的安排和自動化。
MySQL需要調度程序 - 我不能使用它,因爲它比嚴格的數據庫操作更多。我需要按計劃運行php代碼(發送電子郵件和其他東西),而不是僅僅在db中執行操作。 Cronjob - 我可以做這個工作,但是,這將是一個cron作業,檢查我的數據庫中的每個用戶,並且必須以我爲用戶提供的最低間隔(1分鐘)進行檢查。當然,我對數據庫的初始查詢只會返回實際需要檢查的數據(當前時間戳是>最後一次警報時間戳+費率秒),我認爲每分鐘在整個數據庫集上運行此腳本將會是性能問題,特別是隨着用戶羣的增長。有了這個選項,還需要對腳本進行一些文件鎖定,以防止它多次運行。
軟件方面 - 由於數據庫綁定到用戶在計算機上安裝的軟件,我還可以讓軟件按照用戶定義的速率間隔創建php腳本。如果他們將其設置爲15分鐘,那麼它會每15分鐘檢查一次腳本。這也是可行的,但隨着用戶羣的增長,這對於同一頁面來說是相當頻繁的點擊次數,因爲每個用戶帳戶在間隔設置時都會這樣做,但是,它也只會在軟件運行該用戶將減少該數量。
這樣說,有什麼建議嗎?積極,消極,贊成和反對一種方法對另一種或其他建議,我還沒有遇到過呢?
人會覺得很容易,只要你breif事情了,你已經嘗試 – black 2014-09-20 20:19:24
代碼來回答。 – user756659 2014-09-20 20:22:07
你是不是正確的部分?是cron還是查詢會檢查15分鐘的時間間隔? – black 2014-09-20 20:24:21