Да. Если произойдет сбой контейнера последовательности, произойдет сбой всего пакета. Поднимите свойство MaximiumAllowedErrors
контейнера последовательности, чтобы получить желаемое поведение.
Пример
Ниже у нас есть пример пакета. У контейнера последовательности есть задача, которая никогда не будет успешной.
Выше показан сбой контейнера последовательности и сбоя пакета. Ниже приведены свойства контейнера выше. Это значения по умолчанию для нового контейнера.
Теперь давайте остановимся и изучим. Если мы сравним поведение пакета с настройками свойств, это выглядит неправильно. Здесь мы установили FailPackageOnFailure=False
, однако сбой контейнера последовательности вызывает сбой пакета. Почему это? Неинтуитивные имена атрибутов. См. это проблема с Microsoft Connect. Вы не одиноки в своем замешательстве. Официальное объяснение от Microsoft таково.
Несмотря на несколько довольно пространных предыдущих сообщений, мы считаем, что эта функция работает так, как задумано. Если для параметра FailParentOnFailure задано значение false, родительский объект не будет давать сбой до тех пор, пока количество сбоев в дочернем объекте не превысит пороговое значение MaximumAllowedErrors. Если для параметра FailparentOnFailure задано значение true, родительский объект завершится ошибкой при первом возникновении ошибки независимо от порогового значения MaximiumAllowedErrors.
Важная часть информации, которую можно извлечь из этой цитаты, заключается в том, что FailPackageOnFailure
и MaximiumAllowedErrors
работают как пара!!!
Итак, зная это, мы можем добиться ожидаемого поведения, увеличив количество MaximiumAllowedErrors
с 1 до 2.
Это позволит вам иметь контейнер последовательности, который дает сбой, но НЕ сбой всего пакета.
Надеюсь это поможет!
person
Troy Witthoeft
schedule
30.11.2016