2017-03-05 73 views
0

目前工作的一個CRM項目,其中用戶創建新的客戶,定義某些事件,如後續的,SLA控制一個後臺等正確的方式使用AJAX

的想法是解僱通知,基於MySQL的日期時間觸發事件在網頁上,但僅限於新事件,例如,我會在14:00和14:15發起一場活動,但每場活動只會觸發一次。

什麼是最好的方法來實現這一目標?我應該注意哪些時間間隔以避免掙扎mysql數據庫?

+0

您需要使用在特定時間運行某個事件的cron作業。 –

回答

0

正弦你提到ajax我假設你指的是類似於你在瀏覽器上得到的小彈出窗口。

如果是這樣,您需要使用JavaScript來進行調用。我讀過人們正在使用網絡套接字進行實時更新,但由於我不熟悉它,因此我會在這裏留下專家來指導您。

也要做好彈出,你將不得不使用像pnotify的東西。

您需要遵循的步驟。

  1. 有你的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> 
    
  2. 在您的CI控制器調用模型,並得到分貝的結果。時間問題也出現在這裏。所以你可能不得不對邏輯做一些思考。例如存儲上次在會話中調用此功能牆並在此時間後插入記錄。 模型調用並回顯出你需要的輸出。 JavaScript將只顯示來自這裏的輸出。所以你可能需要考慮輸出格式,比如是否需要成爲json對象等。相應地替換你的javascript代碼。

需要注意的是javascript函數被調用的時間間隔,以及存儲/識別上次在您的CI中調用該函數的方法。另外,如果你需要啓動一個類似電子郵件的東西,你需要有一個cronjob調用你的CI URL。

0 20 * * * wget yourCIurl/controller/function 

cron會像這樣處理這個問題,就像調用普通的http url一樣。

祝你好運

+0

謝謝,這幫助我瞭解如何做到這一點。 –