可能我的标题不是很明确。
需求是这样的:一个项目管理系统,要求用户要按月,按季,按年提交项目进度报告。我的问题是,系统如何提示用户需要填进度报告了。比如,5月1号了,应该提交四月份的进度报告,系统应该会给一个通知,通知用户来填写进度报告。我的问题是,系统如何自动生成这个通知。
我的解决办法是,系统每天自动检查当前日期是否是1号,如果是1号,就向数据库写入一条通知的记录。如果不是,则不用。但是这样做有很多的问题。首先,1号这天只能检查一次。其次,如果系统在1号这天宕机了,则不会有通知记录写入。还有就是季报和年报的问题还不一样。反正觉得这样做太死了。
请问大牛们有没有其他的解决办法,请不吝赐教。
三种方式都可以选择,自己设定时间间隔,可以每两小时一次,每天24小时不间断,读取你预设好的时间,比如每月一号的数据。没有就写入。季报与年报也类似。
1、系统计划任务定期执行一个CMD命令即可。
2、SQL JOB也可以完成。
3、用windows服务,更灵活一些、
http://www.cnblogs.com/downmoon/archive/2009/09/16/1567643.html
能不能反过来,用户登陆的时候判断系统时间再做相关处理呢?
我曾听人这么说:
反正你最后的是要往数据库里插数据。
那为了保证该数据能正常插入,最好的方式就是用数据库的作业计划执行。
因为:
数据库挂了,不用说了,其它就算正常也是没用的。
数据库只要没挂,那数据库一定能正确被插入。