按照时间先后顺序把文章ID和发布时间存到缓存中,每次只轮训第一条数据(时间最早的数据),时间到了就发布出去,并在缓存中删除该条数据,依次类推。
感谢你的回答。
定时任务对时间的准确性要求的很高,而且量非常大。
除了自己轮询还有其他的方案吗?
你的需求是定时,这就要求任务一直跑才能达到要求,耗资源是没有办法的,不过你也不必太担心资源的问题,做好sql优化即可,比如每次先用最简单的sql查一下有没有满足的数据,再把满足的数据全部取出来, sql中加上nolock
针对定时,两个方案供参考:
1. Windows任务计算,设置为1分钟执行一次
2. 如果系统中有第三方的job程序,比如Quarz.dll, 设置为1分钟执行一次
注意点:为防止1分钟不能执行完,要对job加锁
文章数据全部添加到数据库中就行了啊,然后控制显示的文章时间不要超过当前时间就行了,搞定SQL查询语句去,这样就不会显示明天的数据就行了。。。也不需要定时器什么的。