目前工作的一个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作业。 –