我一直在构建一个Web服务,以便在我公司的SalesForce和Zendesk之间同步数据。在这样做的过程中,我已经构建了几个优化来大幅缩短执行时间,例如缓存从每个服务检索的一些较大的数据集。
然而,这是有代价的。在缓存数据时,通过SalesForce和Zendesk的API下载所有内容可能需要3-5分钟。
为了解决这个问题,我想有一个后台工作人员每天午夜自动缓存所有必需的数据。但是,我不确定这样做的最佳方法是什么。
构建一个仅具有工作线程的类就足够了,该工作线程每隔几分钟检查它是否在午夜之后,并在从Global.asax启动时激活它。或者是否存在某种调度程序?
修改
在使用类似的东西之间似乎有一些分歧:
FluentScheduler或Quartz.net以容纳我的应用程序中的所有内容。
使用类似Windows任务调度程序和编写辅助应用程序来调用我的应用程序的功能来执行此操作。似乎使用第三方库会更加简单,但使用Windows任务计划程序有任何固有的好处。