ASP / VBS - фоновые задачи - PullRequest
       21

ASP / VBS - фоновые задачи

2 голосов
/ 31 января 2012

На сервере Windows 2003 я хочу запланированное задание, которое вызывает страницу VBS каждые 3 минуты, запуская скрипт в приложении моего веб-сайта.Сценарий веб-сайта написан на классическом ASP и проверяет загруженные файлы, которые можно преобразовать в различные размеры и форматы, поэтому в зависимости от количества используемых файлов это может быть длительным процессом - именно поэтому я выбралфоновый процесс.

Я хотел бы знать следующее: если мой сервер запускает расписание, находит большой набор фотографий и начинает их обрабатывать, что произойдет, если другое расписание будет запущено через 3 минуты, вызывая ту же страницу ASP, а предыдущая задача все еще выполняется?Повлияет ли это на предыдущую задачу или она будет работать параллельно с другой задачей, так сказать?Если бы он работал параллельно, разве это не было бы интенсивно для сервера?Стоит ли создавать таблицу БД, которая управляет задачами, устанавливая канал как «занятый» во время обработки задачи, и сбрасывая его как «открытый» после его завершения, чтобы можно было обрабатывать только одну задачу за раз?

Я беспокоюсь, что мне нужно обрабатывать одну задачу за раз, в моем случае - одну папку с фотографиями за раз.Когда мой офис загружает фотографии, фотографии, имеющие большое значение для клиентов, они должны публиковаться на веб-сайте как можно быстрее.Таким образом, если бы было 100 загруженных папок, то к тому времени, когда запланированная задача достигла папки 100, обрабатывая одну задачу за раз, это было бы много часов спустя.

Я знаю, что там много вопросительных знаков, новсе они сводятся к одному и тому же :) Любая помощь или предложения будут с благодарностью приняты.Я также отмечаю это как .NET, потому что я уверен, что процесс тот же.

1 Ответ

0 голосов
/ 31 января 2012

Простое решение:

Когда запускается запланированное задание, попытайтесь заблокировать только фиктивный файл.

Если он получает эксклюзивную блокировку, продолжайте.

Если нет, ничего не делать и выйти. Задание снова начнется в следующий запланированный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...