Почему стрелки ведут не *к* good end/bad end, а *обратно*?

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Почему стрелки ведут не *к* good end/bad end, а *обратно*?

По всей логике, управление в программе двигается в направлении стрелок.

Это наблюдается как между обычными блоками, так и с круглым спец. блоком «Start» - стрелка идёт от старта к блоку, и в этом направлении движется программа.

И тут, вопреки здравому смыслу, попытка протянуть стрелку от блока к Bad End ни к чему не приводит. Можно сто раз это попробовать сделать и идти курить маны, где внезапно оказывается, что нужно тянуть её в обратном направлении. Почему так???

Я бы понял ещё, если бы от круглого блока Bad End можно было протянуть стрелку к дефолтному обработчику ошибок - ну там, вывести расширенный лог и т.п. А-ля catch { } в С#. Но ведь нет же!

Может, пора если не отменить эти обратные стрелки, то хотя бы ввести возможность тянуть стрелку к Bad end?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 091
Благодарностей
8 971
Баллы
113
по мне так все логично: например, шаблон выполняется с ошибкой, получает статус bad end и управление от кругляшка bad end идет к экшенам, которые нужно в этом случае выполнить, по направлению стрелки.. также и с good end..
 
  • Спасибо
Реакции: Ribas

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Ну так логично было бы этот статус выставлять, протягивая стрелку к кружочку Bad End, а уже из кружочка направлять на блоки спец. обработки. Сейчас же стрелки тянутся только из Bad End, причём не к блокам спец. обработки после ошибки, а к тем блокам, в которых может случиться ошибка.
 
  • Спасибо
Реакции: sk52331

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
Как раз вполне логично всё реализовано. От какого экшна вести логику к bad end, если он рассчитан на воспроизведение при любой ошибочной ситуации внутри шаблона?
 
  • Спасибо
Реакции: zennoX

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 884
Баллы
113
Если есть возможность у какого либо экшеа выполниться с ошибкой и Вы об этом знаете, делайте обработку этого экшена, зачем тянуть его к бэд энду?
Эти шаги предназначены как раз для конечной обработки, когда шаблон по непонятной причине оборвался и тогда у вас есть возможность вернуть нужные данные, записать лог созданной ошибки и т.д.
 
  • Спасибо
Реакции: Ribas

lexone

Client
Регистрация
12.10.2012
Сообщения
420
Благодарностей
726
Баллы
93
Если есть возможность у какого либо экшеа выполниться с ошибкой и Вы об этом знаете, делайте обработку этого экшена, зачем тянуть его к бэд энду?
Эти шаги предназначены как раз для конечной обработки, когда шаблон по непонятной причине оборвался и тогда у вас есть возможность вернуть нужные данные, записать лог созданной ошибки и т.д.
А вот и нет :bz:

При работе с прокси.. шаблон может вылетать на любом моменте .
Например, авито: у меня там от 20 блоков, которые - "переходят, берут значения, кликают"
Я bad-ендом то верну объявление в лог, но проблемка в том что тогда закончится сессия (а у меня в сессии 5-10 объявлений). Навернется шаблончик на 3 объявлении и нужно будет опять проходить сессию или заносить данные сессии в sql таблицу, текстовик.
А если бы bad-енд работал много раз, то я мог бы делать смену прокси при любой ошибке сколько угодно. (а не один, как сейчас). :eek:
 
Последнее редактирование модератором:

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
А вот и нет :bz:

При работе с прокси.. шаблон может вылетать на любом моменте .
Например, авито: у меня там от 20 блоков, которые - "переходят, берут значения, кликают"
Я bad-ендом то верну объявление в лог, но проблемка в том что тогда закончится сессия (а у меня в сессии 5-10 объявлений). Навернется шаблончик на 3 объявлении и нужно будет опять проходить сессию или заносить данные сессии в sql таблицу, текстовик.
А если бы bad-енд работал много раз, то я мог бы делать смену прокси при любой ошибке сколько угодно. (а не один, как сейчас). :eek:
Если шаблон будет по какой-то причине валиться в одном и том же месте после bad end, то он уйдёт в бесконечный цикл, что не есть хорошо. Этот экшн должен быть одноразовым полюбому
 

lexone

Client
Регистрация
12.10.2012
Сообщения
420
Благодарностей
726
Баллы
93
Если шаблон будет по какой-то причине валиться в одном и том же месте после bad end, то он уйдёт в бесконечный цикл, что не есть хорошо. Этот экшн должен быть одноразовым полюбому
Любая проблема решаема 8-)
В нашем случае счетчик неудач.
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
Любая проблема решаема 8-)
В нашем случае счетчик неудач.
Ну вот в копилку идей для реализации разработчикам - сделать Bad End одноразовый/многоразовый/бесконечный. Было бы неплохо.
 
  • Спасибо
Реакции: CSS

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 884
Баллы
113
А вот и нет :bz:

При работе с прокси.. шаблон может вылетать на любом моменте .
Например, авито: у меня там от 20 блоков, которые - "переходят, берут значения, кликают"
Я bad-ендом то верну объявление в лог, но проблемка в том что тогда закончится сессия (а у меня в сессии 5-10 объявлений). Навернется шаблончик на 3 объявлении и нужно будет опять проходить сессию или заносить данные сессии в sql таблицу, текстовик.
А если бы bad-енд работал много раз, то я мог бы делать смену прокси при любой ошибке сколько угодно. (а не один, как сейчас). :eek:
При любом исходе можно сохранить всё, что угодно и потом продолжить с того места, где закончили. Главное понимать что и как нужно делать. К примеру можно сохранять профиль и количество успешных объявлений, а при новом запуске добавлять столько объяв, сколько не доделал шаблон в прошлый раз.

Ну а вообще возможность установки Bad End одноразовый/многоразовый/бесконечный. Было бы отлично. Тоже часто встречался с такими задачами, где это было бы актуально.
 
  • Спасибо
Реакции: Ribas

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
90
Баллы
28

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Архитектура программы построена таким образом, что циклы проекта реализованы количеством выполнений проекта. Нечего внутри бесконечно крутить их)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 884
Баллы
113
Сейчас это создаёт дополнительные костыли. Иногда всё же нужно, чтобы шаблон крутился без перезапусков, а бэд энд в таком случае мог бы служить к примеру для перезапуска инстанса, что освобождало бы частично ресурсы.
 

lexone

Client
Регистрация
12.10.2012
Сообщения
420
Благодарностей
726
Баллы
93
Архитектура программы построена таким образом, что циклы проекта реализованы количеством выполнений проекта. Нечего внутри бесконечно крутить их)
Для некоторых задач нужно :du: (пример был выше).
Я могу сохранить профиль и номер сессии, но опять же.. (доп.костыли!!)
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 799
Благодарностей
1 187
Баллы
113

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
тогда это отдельная Сущность (ErrorHandler), а не BadEnd. BadEnd работает как нужно и как должен.
Поставил таску для IdeaCollector, но это не самая простая задача, поэтому сроков решения обозначить не смогу.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Вот это вообще не понимаю. Я спрашиваю, почему нельзя тянуть стрелку к Good End / Bad End, а мне говорят:
тогда это отдельная Сущность (ErrorHandler), а не BadEnd. BadEnd работает как нужно и как должен.
Я воспринимаю это как — «отъебись!»

Я задаю себе вопрос — а как, собственно, нужно, как должен работать Bad End? В wiki я ни одного слова объяснения не нашёл. Иду смотреть видео на оф. аккаунте Зенно в Youtube. Нахожу видео:

А там как раз молодой человек англиским по белому рассказывает:

Then we can add some logic here,some actions. For instance, we create some new action with variable. If successfully end our project ... we come to good end, and very last action is this. And if the trigger is not false, then we go to bad exit, it goes to bad end. We can add any action and can, for instance, navigate to Google.
Это же классический ErrorHandler, который обрабатывает все подряд необработанные красные выходы! А уважаемый rostonix пишет обратное:

тогда это отдельная Сущность (ErrorHandler), а не BadEnd.
Так я вообще ничего не понимаю тогда! Зачем этот элемент Bad End нужен? Обрабатывает он все красные выходы на манер обработчика ошибок или нет? Если да, то почему нельзя на него принципиально кидать стрелку, чему такая доработка помешает?
Если нет, то юноша в видео врёт, что ли? Объясните, пожалуйста, для непонятливых... И сделайте документацию по этой теме, что ли.
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
Ну вот в копилку идей для реализации разработчикам - сделать Bad End одноразовый/многоразовый/бесконечный. Было бы неплохо.
Крайне поддерживаю, прикрутить чтобы открывалось такое же окошко как на обычном шаге и кому что нужно там всё сделает
 
  • Спасибо
Реакции: black_pariah

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
Если да, то почему нельзя на него принципиально кидать стрелку, чему такая доработка помешает?
Извините, но я так и не понял, из какого конкретно экшна вы хотите входящую стрелку сделать на bad end? Логика работы экшна такова, что обработается любая ошибка, неучтённая в шаблоне. Считайте что к нему уже идёт количество стрелок равное количеству экшнов в шаблоне (без учёта тех экшнов, в которых ошибки учтены заранее). А если вы знаете, в каких именно местах может быть ошибка - делайте без bad end ветку, обрабатывающую такие ситуации и тяните к ней хоть миллион стрелок из нужных вам мест ))
 
  • Спасибо
Реакции: Sergodjan

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
Может быть даже имеет смысл сделать красную ветку исходящую от группы шагов
 

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
90
Баллы
28
да вроде всё понятно со стрелками ,случилось горе и проект ,если стоит бэд энд ,как со старта идёт уже из бэд энда(так он и называется) как бы к нему по умолчанию идёт стрелка,логика понятна,но вот всё равно хотелось бы многоразового использования,а не один раз.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 091
Благодарностей
8 971
Баллы
113
Извините, но я так и не понял, из какого конкретно экшна вы хотите входящую стрелку сделать на bad end? Логика работы экшна такова, что обработается любая ошибка, неучтённая в шаблоне. Считайте что к нему уже идёт количество стрелок равное количеству экшнов в шаблоне (без учёта тех экшнов, в которых ошибки учтены заранее). А если вы знаете, в каких именно местах может быть ошибка - делайте без bad end ветку, обрабатывающую такие ситуации и тяните к ней хоть миллион стрелок из нужных вам мест ))
поддерживаю!
по моему тоже не оч. правильно - видеть логику работы так, чтобы тянуть к бед энду стрелки.. как сейчас реализовано - это супер-правильно.. но признаюсь, что для совсем новичков могут быть затыки в понимании механизма, но только поначалу, в самом начале освоения.. признаюсь, сам поначалу пытался вести стрелки именно к бед энду и гуд энду, а не от них.. но это, повторюсь, поначалу так.. :-)
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 091
Благодарностей
8 971
Баллы
113
да вроде всё понятно со стрелками ,случилось горе и проект ,если стоит бэд энд ,как со старта идёт уже из бэд энда(так он и называется) как бы к нему по умолчанию идёт стрелка,логика понятна,но вот всё равно хотелось бы многоразового использования,а не один раз.
могу ошибаться, но по моему это лишнее..
никто не запрещает использовать красные выходы экшенов и вешать на них обработчики ошибок..
ведь в каждом конкретном случае обработка ошибки нужна часто индивидуальная, под каждый экшен и в зависимости от того из какой части проекта вы пытаетесь сделать обработку ошибки..
 
  • Спасибо
Реакции: black_pariah

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
90
Баллы
28
могу ошибаться, но по моему это лишнее..
никто не запрещает использовать красные выходы экшенов и вешать на них обработчики ошибок..
ведь в каждом конкретном случае обработка ошибки нужна часто индивидуальная, под каждый экшен и в зависимости от того из какой части проекта вы пытаетесь сделать обработку ошибки..
в принципе тоже правильно ,но тогда, как писали выше ,было бы круто ,открывать тот самый бэд энд и вносить в него, как в обычный экшен, некие данные,которые помогали бы ему работать по своим условиям,но это так ,мечта))).
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Окей... вопреки всему, я допёр, наконец, как это всё было задумано.
Зачем называть «концом» блок, который срабатывает неизвестно где, посередине алгоритма? «Конец» — это, по определению, «нечто, после чего уже ничего нет», поэтому я и представить себе не мог, что предполагаются ещё какие-то действия после «Конца».
Я бы понял, если бы было «General Error Handling» и «Success finalization», то есть «общая обработка ошибок» и «завершение успешной работы», но, блин... плохой конец, хороший конец — это просто уродство какое-то, уж извините.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 091
Благодарностей
8 971
Баллы
113
Окей... вопреки всему, я допёр, наконец, как это всё было задумано.
Зачем называть «концом» блок, который срабатывает неизвестно где, посередине алгоритма? «Конец» — это, по определению, «нечто, после чего уже ничего нет», поэтому я и представить себе не мог, что предполагаются ещё какие-то действия после «Конца».
Я бы понял, если бы было «General Error Handling» и «Success finalization», то есть «общая обработка ошибок» и «завершение успешной работы», но, блин... плохой конец, хороший конец — это просто уродство какое-то, уж извините.
опять не соглашусь - как сейчас названо это лаконичнее и понятнее, чем то что вы предложили в качестве названий..
трудности в понимании названий экшенов и механизма действия только поначалу есть (и то, только у некоторых, включая меня :-) ), потом, когда человек один раз тыкнется в непонятке, тыкаться уже не станет..
 
  • Спасибо
Реакции: ZennoScript

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
это просто уродство какое-то, уж извините.
у вас через тему все "уродство" и посты в стиле "новые пользователи это увидят и не купят программу". это уже даже не удивляет.
 
  • Спасибо
Реакции: Sergodjan

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Вы так пишете, как будто это что-то плохое :bn:
Я понимаю, что вам было бы приятно читать только хвалебные оды, но от этого ни программа лучше не станет, ни восприятие этой программы пользователями, ни продажи. Так что я всё-таки буду давать такую обратную связь, которая позволит всё улучшить.

Любому, кто хоть немного знаком с программированием, до боли знакома картинка:


То, как это предлагает Project Maker, выглядит непривычно, непонятно, нелогично.
Конец — это конец: он в конце, и всё, что есть, находится перед ним. Когда что-то исходит из конца, это уже порнография)
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
502
Баллы
113
Это уже никому не нужная полемика. Сводится всё к тому, что, по Вашему мнению, этот экшн надо переименовать в "Что_делать_если_всё_плохо". И будет счастье. При этом все, кто пользуются зенкой, вполне понимают суть работы экшна и название его всех устраивает. Во всяком случае Вы первый, кто так усердно жалуется.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
816
Баллы
113
Этого длинного топика не было бы, если бы была какая-нибудь документация про эту фичу, но её нет, поэтому приходится гадать. Я и завёл тему в форуме «Вопросы новичков», потому что - ну непонятно мне!

Другой вопрос того, смежный. Вот есть у меня какая-то ветка исполнения, которую я обрабатываю и вывожу сообщение о проблеме. А как маркировать, что это проект неуспешно отработал ? Ну, чтобы ZennoPoster это понял?
 

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