目前工作的一個CRM項目,其中用戶創建新的客戶,定義某些事件,如後續的,SLA控制一個後臺等正確的方式使用AJAX
的想法是解僱通知,基於MySQL的日期時間觸發事件在網頁上,但僅限於新事件,例如,我會在14:00和14:15發起一場活動,但每場活動只會觸發一次。
什麼是最好的方法來實現這一目標?我應該注意哪些時間間隔以避免掙扎mysql數據庫?
目前工作的一個CRM項目,其中用戶創建新的客戶,定義某些事件,如後續的,SLA控制一個後臺等正確的方式使用AJAX
的想法是解僱通知,基於MySQL的日期時間觸發事件在網頁上,但僅限於新事件,例如,我會在14:00和14:15發起一場活動,但每場活動只會觸發一次。
什麼是最好的方法來實現這一目標?我應該注意哪些時間間隔以避免掙扎mysql數據庫?
正弦你提到ajax我假設你指的是類似於你在瀏覽器上得到的小彈出窗口。
如果是這樣,您需要使用JavaScript來進行調用。我讀過人們正在使用網絡套接字進行實時更新,但由於我不熟悉它,因此我會在這裏留下專家來指導您。
也要做好彈出,你將不得不使用像pnotify的東西。
您需要遵循的步驟。
有你的JavaScript查詢服務器每5分鐘左右。我提到每5分鐘的原因是因爲計數器在頁面加載時被重置。因此,如果頁面/腳本在10分鐘內加載,下一次調用將從該加載中耗時15分鐘。因此,您需要決定間隔值。
<script>
function getnewrecords(){
$.ajax({ //notice I have used jquery to do the ajax calling.
url: "http://yourapiurl.org/api/function",
type: 'GET',
success: function(res) { //res is the ajax result
console.log(res); //console output
//call javascript notified plugins function to display popup here
}
});
}
setInterval (getnewrecords, 900000); //time mentioned in miliseconds. 1 second = 1000 ms. Therefore 60,000 * 15 = 900,000
</script>
在您的CI控制器調用模型,並得到分貝的結果。時間問題也出現在這裏。所以你可能不得不對邏輯做一些思考。例如存儲上次在會話中調用此功能牆並在此時間後插入記錄。 模型調用並回顯出你需要的輸出。 JavaScript將只顯示來自這裏的輸出。所以你可能需要考慮輸出格式,比如是否需要成爲json對象等。相應地替換你的javascript代碼。
需要注意的是javascript函數被調用的時間間隔,以及存儲/識別上次在您的CI中調用該函數的方法。另外,如果你需要啓動一個類似電子郵件的東西,你需要有一個cronjob調用你的CI URL。
0 20 * * * wget yourCIurl/controller/function
cron會像這樣處理這個問題,就像調用普通的http url一樣。
祝你好運
謝謝,這幫助我瞭解如何做到這一點。 –
您需要使用在特定時間運行某個事件的cron作業。 –