我的Windows服务每30秒(基于一个计时器)从jSON提要中提取大约100项数据。
目前,该服务运作良好。但我唯一担心的是,处理传入数据并将其发送到数据库需要的时间超过30秒,这是不太可能发生的事件。
有没有人可以建议最好的方法来确保处理数据而不会造成任何阻碍。由于jSON提供的数据是实时的和当前的,我需要确保我不会错过传入的请求。
此外,我是通过创建一个定期运行而不是使用预定任务的Windows服务来实现正确的方法吗?
经过一些研究,我想在Timer_Elapsed事件中禁用计时器:
void Timer_Elapsed(object sender, EventArgs e)
{
timer.Enabled = false;
//Carry out custom processes
timer.Enabled = true;
}
所以我的自定义进程应该有足够的时间在计时器再次启动之前完成。
这样的事情会适合吗?
答案 0 :(得分:1)
您应该使用单独的线程来读取JSON提要中的数据。对数据库的提要和存储的处理应该在另一个线程中进行。