关于定时执行任务的实现方案?

qnfng 发布于 2013/08/12 10:01
阅读 423
收藏 0

各位前辈,大家好。

我有一个这样的需求,用户随时向服务器添加定时任务,比如通过用户A添加一个今天9:55发布一篇文章的任务,用户B添加一个明天8:42添加一篇文章的定时认为,用户C添加一个今天10:56发布一篇文章的任务。

我现在的设想是使用轮询数据库的方式来执行,但又觉得太耗!

请教各位其他的方案,感谢。

加载中
0
明月照大江
明月照大江

http://www.oschina.net/project/tag/327/task-schedule

上面是作业调度框架的开源方案,java语言的比如 http://www.oschina.net/p/quartz

都有可能解决你的问题。

0
f
f223156
这种需求要什么定时器
表新建一个actived_at的字段, 加索引, 原先你记录发表时间的字段(假设created_at)去掉索引, 要是不指定发表时间, actived_at = created_at = now()
列表的时候 where actived_at<now() order by actived_at desc
非发表人打开具体页面的时候判断下是否到了actived_at
0
山药蛋
山药蛋
查询文章的时候加上时间,只查询当前时间之前的文章,当到时间了,文章自然就出来了
0
星爷
星爷

quartz 这个东西足够应付你这个需求了,使用quartz 的自己的几张表来保存需要运行的任务信息。http://sundoctor.iteye.com/blog/441951

这是人家写的一个定时监控管理的,你可以简单些。

0
ueharaai
ueharaai
不需要轮询,既然是时间任务,就可以排序,你只要搜最近的任务,然后记住那个时间,运行一个定时器,到时候再触发,就ok了。
0
王瑞平
王瑞平
数据库定时执行任务
0
八木
八木
quartz是个好东西
0
平安北京
quartz+spring非常好使,让用户选择时间,然后添加记录到数据库,在quartz调度里面加上对应的任务就行了
返回顶部
顶部