2012-01-31 74 views
2

在Windows 2003服务器上,我想要一个计划任务,每3分钟调用一次VBS页面,在我的网站应用程序中运行脚本。网站脚本是用传统的ASP编写的,并检查上传的文件可以转换成不同的大小和格式,所以根据涉及的文件数量,这可能是一个漫长的过程 - 这就是为什么我选择了一个后台进程。ASP/VBS - 后台任务

我想知道的是:如果我的服务器运行一个时间表,发现一大组照片并开始处理它们,如果另一个时间表在3分钟后运行,调用相同的ASP页和上一个任务会发生什么情况仍在运行?这会影响以前的任务,还是会在新实例中与其他任务一起运行,这么说?如果它确实并行运行,那会不会是服务器密集型的?我应该建立一个管理任务的数据库表,在任务正在处理时将通道设置为“繁忙”,并在完成时将其重置为“打开”,因此一次只能处理一个任务?

我担心我必须一次处理一个任务,在我的情况下,一次处理一个照片文件夹。当我的办公室上传照片,重要性高的照片给客户时,他们需要尽快在网站上发布。因此,如果有100个文件夹,只要上传到计划任务到达文件夹100时,就会在一段时间内处理一个任务,这将在很多小时后完成。

我知道那里有很多问号,但他们都归结为相同的东西:)任何帮助或建议将受到感谢。我也将它标记为.NET,因为我确定这个过程是一样的。

+0

你有没有想过使用WMI呢?计划任务是可能的,但您要求的是WMI创建的内容:自动轮询事件(s)的每x时间量 – Lizz 2013-03-28 01:29:19

回答

0

一个简单的办法:

当计划任务启动时,有它试图以独占方式锁定一个虚拟文件。

如果它获得排他锁,继续。

如果不是,则什么也不做,退出。任务将在下一个预定时间再次启动。