2017-03-05 75 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

谢谢,这帮助我了解如何做到这一点。 –