У меня есть sqljob с серией шагов.
Один шаг извлекает файл с другого сервера:
powershell -command "Invoke-WebRequest https://someserver.dom/fetch.php -OutFile c:/tmp/data.xml
"
Следующий шаг пытается загрузитьэтот xml-файл.
Можно настроить sqljob для повторного выполнения шага несколько раз в случае сбоя. Но если загрузка xml не удалась, я не хочу повторять этот шаг при загрузке файла. Я хочу попробоватьпередайте его снова.
Но если я просто сделаю «при неудаче перейти к предыдущему шагу», я могу попасть в бесконечный цикл, если есть ошибка «вверх по течению», то нет никаких ограничений на повторные попытки.
Можно ли "изначально" повторить попытку несколько раз, а затем выполнить задание?
Если передача не удалась, результирующий файл занимает всего несколько строк, может ли PowerShell вернуть ошибку, еслифайл слишком мал? Или, если файл не содержит определенной строки, такой как конечный XML "", поэтому "шаг передачи файла" может быть повторен?
В настоящее время я только что скопировал шаг, поэтому его
- Передача файла
- Загрузка XML. Если все в порядке, перейдите к «Обработка данных»еще следующий шаг
- Передача файла снова
- Загрузка xml снова.Если все в порядке, перейдите к пункту «Обработка данных», а затем выполните следующий шаг
- Снова передайте файл
- Снова загрузите XML.Если Ok, перейдите к «обработать данные», иначе завершите работу с ошибкой
- «Обработать данные»
Но это нехорошо: -)