我正在寻找一个解决方案或一组包含以下组件的解决方案:
Job Scheduler - 按特定计划运行特定作业。我见过Quartz.NET,它似乎是一个很好的框架,但是我没有发现它与后面的组件集成。
Job Runner - 从目录或存储在数据库中的二进制文件运行作为AppDomain加载的作业。这当然是除了作为直接引用传递的作业之外。此外,该组件将与作业调度程序集成。此外,应该可以通过WCF等控制该组件。我希望能够查看当前正在运行的作业,通过指向文件路径或数据库行来安排新作业,或者停止作业。
GUI - 与Job Runner通信并提供一个GUI shell,它将公开job runner的所有功能。类似于SQL Server代理程序shell。
我想要实现的一个目标是能够像使用SQL Server Management Studio运行SQL脚本一样轻松部署和运行C#作业。
答案 0 :(得分:2)
答案 1 :(得分:2)
我想象的有点晚,但对其他人来说仍然有用。
这是一个我花了很多时间的项目,似乎满足了大多数要求。它也是我们内部使用的,所以我尽量保持更新。
http://backgroundworker.codeplex.com/
它非常类似于Quartz,但更专注于管理工作及其数据。
答案 2 :(得分:0)
我一直在玩DryadLINQ。如果您正在寻找分布式作业执行引擎,那么它绝对值得一看。它确实可以让你在LINQ中编写尽可能多的代码,因为它解析了linq执行树,并计算了如何在集群中的所有节点上分配linq执行。
答案 3 :(得分:0)
有一个维基百科page列出了作业调度程序(大多数都是商业解决方案)。我们使用名为JAMS的.NET解决方案 - 有一个免费的开发版本,因为我的公司无法支付10万美元以上的费用。