0

下面是对在 ColdFusion 中运行计划作业非常有效的系统的描述。如果你要在 .net 中构建一些至少和它一样好的东西,如果不是更好的话,你会怎么做?请注意,我正在寻找概念、想法和结构——而不是代码。

我们目前对 ColdFusion 中的计划作业有一个“即插即用”的概念。代替几十个单独的预定作业,有一些预定作业容器。在 ColdFusion 中实际调度的是容器。每个容器都计划在一天中的不同时间运行。开发人员根据他们希望他们的工作运行的时间将他们的个人工作插入最合适的容器中。容器文件的名称类似于 ScheduledJobs_0600.cfm。它们位于 Web 浏览器无法访问的目录中。每个都有一个单独的日志文件。

一旦准备好安排单个作业,开发人员将其插入到容器文件中,如下所示:

翻译为每月的第 5 天,ColdFusion 文件 /DWsystem/jobs/AdultPsych.cfm 将运行。

cf_RunJob 是一个 ColdFusion 自定义标签。它 • 尝试运行该作业。• 如果成功,则会将一行写入日志文件,指示作业何时开始以及运行所需的毫秒数。• 如果不成功,catch 块将错误消息写入日志文件

try/catch 方法可以防止一个编码错误阻止后续的单个作业运行。

还有另外两个计划的作业,看看其他作业的进展情况。具体来说,他们读取日志文件中的最新条目并查找错误。如果找到,则该特定文件中的所有日常事件都会通过电子邮件发送到某些地址组。当事情不顺利时,还有两个网页可供跟进。一个列出所有“容器”作业,并允许用户运行其中的任何一个或全部。容器作业是硬编码的,但由于它们位于同一目录中,因此可以通过编程方式获取它们。

第二页稍微详细一点。它读取所有容器文件和所有日志文件。然后向用户显示所有单个作业的列表,每个作业都带有一个复选框。任何在前一次尝试中失败的作业都会预先选中该复选框。还显示了每个作业的执行时间。提交表单时,每个选定的作业都使用 cf_RunJob 标记运行。

你会如何在.net中做到这一点?

4

0 回答 0