mysql的定时任务学习
来源:互联网 发布:怎么做网络营销 知乎 编辑:程序博客网 时间:2024/05/22 07:40
最近弄公司的一个电商项目时遇到客户的一个需求:每天定时返还会员红包。这个电商项目,用的是ecshop的框架。由于ecshop是项目单一入口的mvc框架,我就想着在项目的入口文件index.php处触发windows定时任务。
大致思路是这样的:每天定时去访问入口文件,在入口文件中判断访问的时间,如果满足条件,则发放红包,并把红包发放状态修改为已发放。再建立一个文件,用于每天红包发放状态的重置操作。
思路有了就开始动手做,首先代码实现,接着在一个服务器上编写windows的定时任务。测试一下,OK,大功告成。紧接着就是给项目经理说,红包自动返功能已经实现,上线,再次测试,最后就是告知客户,红包自动返功能已经实现。
在这里我要先说明一下,我这里是采用windows定时任务+.php程序定时访问页面实现的红包自动返功能。
不料第二天早上刚来就接到了客户的电话,今天的红包怎么没返啊?
我第一感觉就是不应该啊,本地和远程测试都没问题啊。我首先看了下远程的定时任务,正常执行了,程序中设置的时间也OK,那是什么问题呢?仔细想了一下,会不会是DNS解析出了问题?因为是两个不同的服务器(项目所在的服务器与建立的定时任务并不在一个服务器上),域名解析为ip地址的时间太长,导致失败。
于是,我又换了一种思路:在电商项目的服务器上建立定时任务,这次,我没采用域名访问(当然也可以设置服务器上的hosts文件,省去域名解析过程),而是直接采用了localhost访问。心想着,这次应该没问题了吧?测试,上线。不料第二天客户又反馈说红包没发放。
这次是彻底崩溃了,定时任务执行正常,还能是什么问题?莫非是数据库服务器的问题?在这里说明一下,我们采用的是mysql数据库。
事到如今,只有一种方法能够保证功能的稳定了:在mysql数据库中创建定时任务,这样就省去了域名解析、程序与数据库的交互,只要数据库服务器正常启动着,定时任务就可以正常执行。
OK,最终解决了问题。
- mysql的定时任务学习
- mysql的定时任务
- mysql数据库的定时任务
- Mysql定时任务的开启
- mysql 的定时sql任务
- MySQL定时任务的开启
- mysql定时任务的实现
- Spring 定时任务的学习
- mysql的定时任务和触发器相关
- mysql的定时任务和触发器相关
- 如何写mysql的定时任务
- MySQL定时任务是如何实现的
- mysql 中定时任务event的创建
- 禁用mysql每天的定时更新任务
- mysql的定时计划任务如何关闭
- Mysql数据库定时任务
- mysql创建定时任务
- MySQL定时任务
- angular使用bootstrap方法手动启动
- iOS--内存分析工具
- mysql嵌套语句查询
- 让UITableView支持长按拖动排序(Swift)
- Class#getResource与ClassLoader#getResource分析
- mysql的定时任务学习
- OC
- 不重新编译PHP为PHP安装zlib扩展-学习收集
- I00037 亏数(Deficient number)
- 【GLSL教程】(七)逐像素的光照
- # Java中遍历Object的属性和属性值,并以String形式返回||toString()一个对象Object||将一个对象转化为字符串String
- Caffe中卷基层和全连接层训练参数个数如何确定
- 小瘦牛虚拟无线路由器官方版
- 严重: StandardServer.await: create[8005]:,tomcat一闪而过解决