如何根据数据库里面的结束时间触发事件

achill7456 2010-09-29 11:38:30
举例,要求,有一个活动表event,字段结束时间:endtime,
如果到了活动结束时间,就自动触发事件,对该活动做一系列结束需要处理的操作。

如何实现?

...全文
157 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
quince_1 2011-01-23
  • 打赏
  • 举报
回复
楼主这个问题解决了嘛?我也要做个类似的主动触发业务,通过查询预约的时间来进行相关操作,您后来是怎么解决这个问题的?交流下啦
cnmb1 2010-09-29
  • 打赏
  • 举报
回复
可否换种思路。
时间到了时候没什么动作,但是当调用的时候发现时间过期了,于是触发事件,对该活动做一系列结束需要处理的操作。
wula0010 2010-09-29
  • 打赏
  • 举报
回复
做个定时任务,查询数据库,
achill7456 2010-09-29
  • 打赏
  • 举报
回复
补充,数据库用的是mysql,
如果做触发器的话,不能根据增删改等条件触发,而是到时间了自动触发才行。
如果不用触发器,还有什么其他办法可以自动完成这个事件?

我本人不是太喜欢用数据库触发器的说,对性能,扩展都不太好。
不过如果没有其他办法的话,也只能.....
achill7456 2010-09-29
  • 打赏
  • 举报
回复
不太明白,能否说详细点?谢谢~

[Quote=引用 8 楼 dr_lou 的回复:]
用程序做吧,读取每一个endTime 触发要做的存储过程
[/Quote]
achill7456 2010-09-29
  • 打赏
  • 举报
回复
这个如何调用?有没有例子看看?
时间可否动态获得和指定?

[Quote=引用 7 楼 leehomwong 的回复:]
Timer.schedule(TimerTask task,Date time)安排在制定的时间执行指定的任务
[/Quote]
dr_lou 2010-09-29
  • 打赏
  • 举报
回复
用程序做吧,读取每一个endTime 触发要做的存储过程
24K純帥 2010-09-29
  • 打赏
  • 举报
回复
Timer.schedule(TimerTask task,Date time)安排在制定的时间执行指定的任务
cnmb1 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 achill7456 的回复:]

不太好,并非只有一处地方调用。如果不经过调用的模块直接进行统计或者其他显示、分析操作,就不行了。
这种做法要把触发点做得到处都是。

引用 3 楼 cnmb1 的回复:
可否换种思路。
时间到了时候没什么动作,但是当调用的时候发现时间过期了,于是触发事件,对该活动做一系列结束需要处理的操作。
[/Quote]
没什么好办法。如果有多个地方调用的话,尽量提取相同的地方出来,然后把触发放那里吧....
achill7456 2010-09-29
  • 打赏
  • 举报
回复
定时任务每5分钟或者10分钟触发一次会不会太频繁对服务器性能有影响?
如果时间间隔再长,就不太好了。
实际上,我的需求是类似拍卖这种,对实时和同步要求挺高的需求。呵呵。

[Quote=引用 2 楼 wula0010 的回复:]
做个定时任务,查询数据库,
[/Quote]
achill7456 2010-09-29
  • 打赏
  • 举报
回复
不太好,并非只有一处地方调用。如果不经过调用的模块直接进行统计或者其他显示、分析操作,就不行了。
这种做法要把触发点做得到处都是。

[Quote=引用 3 楼 cnmb1 的回复:]
可否换种思路。
时间到了时候没什么动作,但是当调用的时候发现时间过期了,于是触发事件,对该活动做一系列结束需要处理的操作。
[/Quote]

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧