我正在设计一个网站的架构,遇到了之前在ASP.NET中从未遇到过的问题。我想做的是每晚运行一次查询以检查数据库表中的实体的日期列,并根据日期执行X或Y动作。基本上,我想要在每晚调用一个函数。所有我搜索到的都将我引导到一些不同的方向,这些方向似乎对于这样一个简单操作来说过于复杂,或者更倾向于工作排队,而这并不是我想要的。
欢迎提出任何建议,只是寻找最简单的方法。谢谢!
欢迎提出任何建议,只是寻找最简单的方法。谢谢!
如果你所做的工作纯粹涉及数据库,大多数数据库平台如Microsoft SQL Server、Oracle等都有能力安排定期运行的作业。这些作业可以是SQL语句或存储过程。MS SQL Server还可以让您在存储过程中调用C#代码,这非常方便。
使用操作系统进行调度。Windows有Windows Scheduler作业(AT
命令),Unix有cron作业。您可以安排一个可执行文件每晚运行,它会运行C#代码或SQL代码。
编写自己的调度服务。该服务将作为Windows服务一直运行,并在规律的时间间隔内执行某些代码。请查看调度框架,例如Quartz.net,它可以帮助组织一些调度细节。