timer 的处理问题
假设一张表里面有数据如下:
LoopTime ProgUrl
20 http://xxxx.asp?k=xxxx
20 http://xxxx.asp?k=xxxx
20 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
30 http://xxxx.asp?k=xxxx
120 http://xxxx.asp?k=xxxx
120 http://xxxx.asp?k=xxxx
LoopTime 表示循环时间(/分) ProgUrl 表示执行页面
问题是:要怎样用timer来处理这些不同时间段?一条接一条处理。
------解决方案--------------------你这样应该不可以,至少还需要记录每一条记录上一次的执行时间,初始化为1900-1-1,如果这样记录了就简单了,
1,查询一条记录,按上一次执行时间排序
2,如果当前记录已经到了本次执行时间,LoopTime + LastTime <= DateTime.Now, 则执行当前记录
然后转到上一步1继续运行,否则下一步3。
3,没到期,则计算还需要多长时间到期,设置timer的下一次时间间隔。
4,时间到了,转到1