VBScript - Как узнать, когда закончите?
Я запускаю простой / один VBScript в планировщике Windows, чтобы выполнить 13 отдельных экспортов файлов из нашего приложения SalesForce. Скрипт работает как положено. В зависимости от сетевого трафика, 13 экспортов может занять 3-5 минут.
Я намеревался запускать эти экспорты поочередно, но VBScript, кажется, рад запустить их параллельно. SalesForce работает без проблем или жалоб.
После успешного завершения экспорта я запускаю второй vbscript для импорта этих результатов в другое приложение (через функцию msaccess). Этот второй vbscript также обеспечивает желаемый результат.
Вопрос: есть ли способ программно определить, когда скрипт экспорта завершен, чтобы позволить мне безопасно запустить скрипт импорта? В настоящее время я настроил 2-е задание планировщика для запуска сценария импорта через 10 минут после отдельного сценария экспорта... но это может не сработать. Я хочу связать эти два сценария более тесно друг с другом.
Какие-либо предложения?
Спасибо!
1 ответ
Есть несколько вариантов. Если оба сценария работают в одной и той же системе с одинаковыми правами доступа, первый сценарий может фактически запускать второй сценарий после его завершения.
Если для сценариев требуются разные разрешения или они требуются для запуска из диспетчера задач, запустите первый сценарий, выполнив поиск существующего файла, такого как SCRIPT1.COMPLETE
, Если этот файл существует, сделайте так, чтобы script1 удалил файл и начал обработку. Когда script1 завершит свою обработку, создайте этот файл. Затем в script2 создайте цикл while, который ищет SCRIPT1.COMPLETE
, Если файла нет, подождите несколько секунд, затем повторите попытку. Не выходите из цикла while, пока не появится полный файл. Сделайте так, чтобы script2 удалил ЗАВЕРШЕННЫЙ файл, когда он закончит обработку. Я бы порекомендовал установить для вашей функции "подождите некоторое время" не менее 30 секунд, чтобы ваш скрипт не просто постоянно проверял.