计划多个 asp.net 项目的任务
本文关键字:项目 任务 net asp 计划 | 更新日期: 2023-09-27 18:32:58
实现跨多个 asp.net 项目运行作业的任务调度程序的最佳方法是什么?
我的意思是,例如,我有一个项目(项目 A)将文件发送到 sftp 服务器,另一个项目(项目 B)向客户端发送电子邮件。两者都需要自动化。最好的方法是什么?
我一直在研究,发现如果我有权安装Windows服务(我这样做),那么我应该这样做。但是怎么做呢?我是否在共享项目(项目共享)中创建 IJobsInterface 并在 A 和 B 之间共享,让每个项目实现自己的 RunJob() 版本,然后将所有这些引用到 Windows 服务(也许是控制台应用程序?)并执行每个实现的 RunJob?我甚至接近解决方案了吗?
看看Revalee。这是一个开源项目,可让您安排 Web 回调以 ASP.NET 项目。每个 ASP.NET 应用程序都将使用 Revalee.Client 库来调度对各种 Web 应用程序的回调(使用 Revalee 服务器);每个回调都是特定计划任务的"触发器"。更具体地说,每个客户端将向Revalee服务器(即运行一次的单独Windows服务应用程序)注册未来的回调。
安排回调非常简单:
DateTimeOffset callbackTime = new DateTimeOffset(...); // scheduled task trigger time
Uri callbackUrl = new Uri(...); // url to callback (your "job" code resides at this url)
RevaleeRegistrar.ScheduleCallback(callbackTime, callbackUrl);