有多个计划任务调用相同的可执行文件时的最佳做

时间:2011-11-17 17:22:54

标签: c# windows-server-2008 console-application scheduled-tasks

我需要在不同的时间导入不同的Feed,我的计划是设置单独的计划任务,即每周运行一次,每月运行一次,依此类推,具有不同的参数,具体取决于应运行哪些Feed。我的问题是这样做的最佳做法是什么 - 我应该检查exe是否仍在运行?我知道你可以设置计划任务来排队一个实例(如果它已经在运行),但这只适用于任务而不是exe。我不认为它会过于繁重,所以如果同时运行多个实例应该没问题,但我只是想检查一下我是否遗漏了一些明显的陷阱。

谢谢,

Annelie

2 个答案:

答案 0 :(得分:1)

任务计划程序不会出现任何问题。您可以同时在不同的任务中运行相同的可执行文件,没有任何问题。

当然,您的应用程序中存在潜在问题。您希望每个单独的实例都写入不同的输出文件,或者如果它们使用相同的输出文件,则需要同步访问。除非您正在写入数据库,否则通常会为您处理同步。

答案 1 :(得分:1)

控制运行的应用程序的单个实例的一种方法是使用Mutex。但是,使用任务计划程序执行您想要的操作应该没有任何问题 - 当然,这完全取决于您的程序正在执行的 。您必须根据程序逻辑处理同步。

This问题包含有关使用Mutex强制执行单个实例的一些相关信息。