首页 新闻 会员 周边 捐助

关于时间段内定时执行的问题。。。

0
悬赏园豆:20 [已解决问题] 解决于 2017-06-05 10:24

公司有个任务,需要可以设置每个时间段查询数据库数据,并把数据保存到本地。 程序要24小时运行,并且根据时间段来执行相关任务 比如:

01-02时,要查询数据

02-03时,要查询数据

03-04时,不查询数据

04-05时,不查询数据

05-06时,要查询数据

... ...

23-24时,要查询数据 ,

如果任务中的话,可以点击停止按钮停止掉,然后点击开始,按钮重新开始。

这种形式的,该怎么去实现呢。是用while循环判断当前时间是否在这个时间段内?

翩若游龙的主页 翩若游龙 | 初学一级 | 园豆:7
提问于:2016-03-15 16:05
< >
分享
最佳答案
0

相对自己去实现,我还是比较喜欢推荐Quartz.Net给你,不妨去看看~ 

如果非要自己实现的,while是其中一种做法,轮询+字典 做计划任务

收获园豆:10
visonme | 小虾三级 |园豆:1674 | 2016-03-15 16:16
其他回答(1)
0

使用backgroundWorker控件

private void Form1_Load(object sender, EventArgs e)
{

backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{

//这里用来计算下次执行前要休眠的时间,然后休眠
var sleep = nextDate - DateTime.Now;
if (sleep.Ticks > 0)
{
Thread.Sleep(sleep);
}

 

//这里写要执行的工作 比如 查询数据

}

 

//前一个方法执行完后会触发这个事件,然后在启用前一个方法,形成循环

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}

收获园豆:10
刘宏玺 | 园豆:14020 (专家六级) | 2016-03-15 16:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册