Зациклить проект при неудаче на лбом этапе

Sanya330

Client
Регистрация
16.08.2020
Сообщения
302
Благодарностей
69
Баллы
28
Всем привет. Возможно глупый вопрос) Но как сделать так, что-бы при ОШИБКЕ/НЕУДАЧЕ на любом этапе выполнение проекта не останавливалось а выполнялось СНАЧАЛА (С определённого момента) ?
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
BadEnd
BadEnd «экшен» служит стартовой точкой, при условии выполнения с ошибкой хотя бы одного экшена из основной серии - Start.
Можно использовать для:
  • возврата данных обратно в списки и таблицы для последующего их использования без потери.
  • обнуления значений переменных
  • создания BlackList для невалидных данных
GoodEnd
GoodEnd «экшен» служит стартовой точкой, при условии успешного выполнения всей серии экшенов из основной серии - Start.
Можно использовать для:
  • сохранения итоговых данных
  • передачи команды на выполнение другому проекту из группы проектов выполняющихся по завершении предыдущего
  • создания WhiteList для валидных данных
Можно еще через Экшен - Switch там предусмотреть все ошибки и прописать ид ошибки, id выглядит так - 5aded8e3-39b3-4847-aef0-3388c3761c34
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 525
Благодарностей
1 322
Баллы
113
BadEnd
BadEnd «экшен» служит стартовой точкой, при условии выполнения с ошибкой хотя бы одного экшена из основной серии - Start.
Можно использовать для:
  • возврата данных обратно в списки и таблицы для последующего их использования без потери.
  • обнуления значений переменных
  • создания BlackList для невалидных данных
GoodEnd
GoodEnd «экшен» служит стартовой точкой, при условии успешного выполнения всей серии экшенов из основной серии - Start.
Можно использовать для:
  • сохранения итоговых данных
  • передачи команды на выполнение другому проекту из группы проектов выполняющихся по завершении предыдущего
  • создания WhiteList для валидных данных
Можно еще через Экшен - Switch там предусмотреть все ошибки и прописать ид ошибки, id выглядит так - 5aded8e3-39b3-4847-aef0-3388c3761c34
Если что, так зацикливать не рекомендуется, так как проект может крашнуть всю зенку по такому приниципу потому, что бед енд не предназначен для зацикливания, а сделан лишь для того, что бы удачно сохранить например определенные данные при ошибках.
 
  • Спасибо
Реакции: Sanya330

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 525
Благодарностей
1 322
Баллы
113
Всем привет. Возможно глупый вопрос) Но как сделать так, что-бы при ОШИБКЕ/НЕУДАЧЕ на любом этапе выполнение проекта не останавливалось а выполнялось СНАЧАЛА (С определённого момента) ?
В таком случае, почему бы вам не использовать BadEnd и не провести его к c# кубику, который добавит +1 попытку в Сколько делать, таким образом вы перезагрузите верно проект и не будет никаких проблем.
C#:
Guid id = Guid.Parse(project.TaskId); // Находит по ID наш проект в зеннопостере (Ничего менять по умолчанию не нужно тут)
ZennoPoster.AddTries(id, 1); /// Добавляем +1 в сколько делать

Если нужно без перезагрузки, выведите все концы проблемных кубиков к одному кубику, например паузы и этот кубик паузы перетащите туда + протяните от него стрелку туда, откуда нужно снова начинать. Но повторюсь, зацикливать не желательно. Что бы не зацикливать посмертно, можно сделать в этой паузе дополнение - повторить в цикле, т.е. если мы пройдем через него+ кубики циклов,нам добавит +1 в цикл, и например после 10ти неудачных попыток(очередных ошибках), пусть проект завершится лучше и начнет сначала.
72093
 
Последнее редактирование:
  • Спасибо
Реакции: Sanya330

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Тут очень важно не делать бесконечный цикл, например регистрируешь почту, подошло время загрузить аватарку, два три раза пробуешь не получается, пропускаешь, и ставишь обработка переменных False, а в конце, проверяешь, и вворачиваешься к загрузке аватарки, только не к этому экшн, а такому, но другому, как так можно.
 
  • Спасибо
Реакции: Sanya330

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)