我有 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;
}
所以我的自定义流程应该有足够的时间在计时器再次启动之前完成。
这样的东西合适吗?