每天在web服务上的特定时间运行一个预定的进程

本文关键字:一个 进程 运行 web 天在 服务 定时间 每天 | 更新日期: 2023-09-27 18:07:42

我一直在构建一个web服务来同步我公司的SalesForce和Zendesk之间的数据。在此过程中,我构建了几个优化来大幅减少执行时间,例如缓存从每个服务检索的一些较大的数据集。

然而,这是有代价的。在缓存数据时,通过SalesForce和Zendesk的api下载所有内容最多需要3-5分钟。

为了解决这个问题,我在考虑有一个后台工作人员,每天午夜自动缓存所有需要的数据。但是,我不确定这样做的最佳方法是什么。

构建一个类是否足够,它只有一个工作线程,每隔几分钟检查一下它是否在午夜之后,并在从Global.asax启动时激活它。还是已经存在某种调度程序?

编辑

在使用

之间似乎有一些区别:

FluentScheduler或Quartz.net来容纳我的应用程序中的所有内容。

与使用windows任务调度程序和编写第二个应用程序来调用我的应用程序的函数相比。似乎使用第三方库会更简单,但是使用Windows任务调度程序有什么内在的好处吗?

每天在web服务上的特定时间运行一个预定的进程

我认为您想要将数据缓存逻辑添加到类型为"控制台应用程序"的项目中。您可以将其部署到服务器上,并使用windows"任务调度程序"将其作为计划任务运行。如果您之前没有使用过这种项目类型或计划任务,那么在这里,这里和这里有堆栈溢出问题应该会有所帮助。如果需要,您可以添加命令行参数,并且应该考虑添加互斥锁,以便一次只运行一个代码实例。

添加一个端点,该端点将知道如何使用Windows任务调度程序调用新的缓存端点。