Добавить пользовательские категории для инстансов

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
Предлагаю добавить пользовательские категории для инстансов для более удобного мониторинга процесса работы шаблонов. Например, у разработчика шаблонов появится возможность создать такие категории, как "Регистрация", "Решение капчи", "Авторизация", "Web scraping", "Запись в БД и завершения работы", и можно будет легко наблюдать инстансы по конкретному этапу, что весьма удобна, когда требуется оптимизировать ту или иную часть шаблона, а сейчас приходится вытягивать глазом эти инстансы вручную, что не всегда возможно, так как шапка сайта часто одинаковая.

Кроме того, это будет очень полезно при ожиданий действий пользователя, здесь появится возможность создать категории по важности действий, чтобы можно было быстро сориентироваться, где наиболее важно вмешаться в работу шаблона.

Думаю, неплохо бы иметь возможность добавлять инстанс сразу в несколько категорий (например "Регистрация", "Важно"). Ну, т.е. грубо говоря мы просто добавляем инстансу соответствующие метки, а в ZennoPoster'е при выборе этой метки(категории) будут показаны те инстансы, у которых прописана эта метка.

Естественно эти категории должны быть не наравне с текущими (подготовка/выполнение/ожидание действий и т. д.), а скорее подкатегориями текущих. Ну, т.е. если у нас категория "Регистрация", то ее можно будет найти либо во категории "Все", либо "Выполнения". А если в часть инстансов необходимо действие, то эти часть инстансов будут находиться всё в той же категории "Регистрация", но найти их можно будет либо во вкладке "Все", либо "Ожидание действий"

68934
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 327
Благодарностей
5 429
Баллы
113
и можно будет легко наблюдать инстансы по конкретному этапу, что весьма удобна, когда требуется оптимизировать ту или иную часть шаблона, а сейчас приходится вытягивать глазом эти инстансы вручную, что не всегда возможно, так как шапка сайта часто одинаковая.
А можно тут по подробнее? Может я не понимаю чего-то. Как наблюдение за инстансом может дать информацию для оптимизации?
 

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
А можно тут по подробнее? Может я не понимаю чего-то. Как наблюдение за инстансом может дать информацию для оптимизации?
Наблюдение помогает быстрее локализовать проблему.

Например, в какой-то момент, потоки какого-то шаблона частично начинают работать медленно, конечно мы можем логировать и высчитывать время каждого этапа и понять, где именно происходит просадка. Но что дальше? Мы включаем project market, прогоняем, и часто выходит так, что в project markete всё хорошо (например из-за того, что однопоточный режима процесс лишен нагрузки или размер инстанса не совпадает). И в принципе, когда неприятный сценарии вероятностные (например в 10%-20% случаях), через project market причину порой сложно найти. А здесь, например, если какой-то инстанс тормозит мы добавляем в определенную категорию и смотрим, что визуально происходит + логи смотрим, что там не так: долго грузится какая-то часть сайта или сайт в общем, повыскакивали банеры, которые закрылись через 5 секунд (такие вещи не всегда получается даже скринами отловить, когда появляется что-то динамическое и вероятностное, ну можно конечно каждые полсекунды делать скрины..). Иногда можно отловить момент, и увидеть, что какое-то конкретное действие проходит как-то со скрипом, опять же конечно можно логировать все микродействия, но даже это может не дать полной картины, так как хочется увидеть ПОЧЕМУ так происходит. Конечно иногда бывает, что и визуально ничего не увидишь, хотя опять таки это тоже даст определенную информацию: вероятно какие-то скрипты нагружают/полетел левый трафик. В любом случае, как по мне наблюдение помогает при усовершенствование шаблона, часто полезно взглянуть. Иногда лучше один раз увидеть в динамике, чем сто раз прочесть лог...


Да, даже банально посмотреть насколько эффективно при текущих настройках/таймаутах шаблон корректно отрабатывает (насколько хорош запас прочности), тоже может быть полезно. Можно также заметить некоторые нюансы: например: нет смысла ожидать html элемент Б, если не прогрузился html элемент А/один элемент прогружается быстрее другого, значит можно сначала взаимодействовать с ним/нет смысла полностью ждать загрузки страницы, т.к. нужные html элементы появляются значительно раньше / необходимо ждать полной загрузки, даже, если нужные элементы появились, так как к полной загрузке страницы они меняются.

Опять таки некоторые вещи могут проявляться вероятностно, и они могут не вести к критической ошибки. Вполне возможно наткнуться на какой-то нюанс работы сайта, который можно использовать даже в себе в плюс (а иногда лучше обойти). Открыть сразу несколько окон и понаблюдать в режиме реального времени в этом плане займет меньше времени чем крутить один поток в project маркете огромное количество раз.

Да, и в принципе я считаю наблюдение за определенной выборкой делом не бесполезным, потому что, как я сказал ранее запустить в project market'e это одно, а посмотрел как всё в реале работает это другое. И как раз удобнее наблюдать именно за конкретным этапом, чем за всем сразу.

К тому же могут мысли какие-то новые посетить, когда видишь как всё работает.

Ах, много написал, извиняюсь, как вы поняли сейчас у меня нет желания заниматься проектами xD
 
  • Спасибо
Реакции: Mikhail B.

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
Для этих целей есть ПМ и отладка проекта в нем. гоняешь много много раз и видишь что происходит.
А для отладки в ЗП используется логирование и трассировка.
 

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
Для этих целей есть ПМ и отладка проекта в нем. гоняешь много много раз и видишь что происходит.
Еще раз говорю, что есть большая разница запустить проект в одном потоке, и сразу 100-150 (и вывести на экраны одновременно 10 инстансов). У меня лично была ситуация, когда я перезапускал в одном потоке раз 40-50, потратив уйму времени и так и не нарвался на ошибки, которые летели в ZennoPoster'е в 5-7% случаев (пытался в том числе, параллельно включить потоки в зеннопостере, чтобы симитировать нагрузку, но это тоже не помогло), причем я знал, где это ошибка происходит, с какими элементами, полное логирование и скрины, но всё происходило в динамике настолько быстро, что понять в чем дело помогло только визуальное наблюдение (причем на это было потрачено практически минимальное время).

У каждого свои подходы, я лично часто ориентируюсь на инстансы, и мне это помогает.

Еще раз хочу подчеркнуть, что удобство наблюдения за инстансами это не единственная причина данного потенциального функционала. Если в проекте существуют более одного "ожидания действия пользователя", то в списке инстансов всё смешивается, а одни инстансы запросто по приоритету могут быть выше других. Просто банальный пример: аукцион, ситуация идет по нашему сценарию, необходимо вмешаться и подтвердить действие, но в решающий момент, к концу действие намного критичнее и приоритетнее, сейчас после оповещения приходится всматриваться в айдишники инстансов и искать нужные. Или ebay, где за раз можно ухватить несколько товаров, но опять таки одни товары могут быть приоритетнее других, это как раз такие вещи, где полная автоматизация нежелательно, чтобы не налететь вот на такие вещи:

И не купить вместо видеокарты картинку за 30-40к.
68958

В общем существует масса тем, в которых нужно делать именно автоматизированное решение (а не полностью автоматическое), и при это есть явные приоритеты при ручной обработке.

Я уж не говорю про то, что это просто банально быстрее, сначала разобраться с одним однотипным действием, потом с другим, а затем с третьим, чем кликать по инстансу и каждый раз заново соображать, что необходимо сделать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
это разные вещи, делать и отлаживать шаблон под полную автономную работу и шаблон где надо нужна полуручная работа с автоматизацией.
В зенке нет такого режима, она ориентирована на полную автономную работу.
Конечно есть инструмент остановки в ключевых моментах, но он настолько простой, что даже незнаю где можно его применить.

Как я вижу своим сугубо личным мнением, для тебя было бы лучше разработать управляемую форму из шаблона, куда бы в реальном времени скидывались бы данные из шаблонов, и на форме были бы элементы управления для воздействия на запущенные потоки.

вот маленький пример. https://zennolab.com/discussion/threads/interaktivnoe-okno-v-shablone-zennopostera-malenkij-primer.69574/
можешь развить тему и сделать нормальную панель для управления шаблонами в онлайн режиме.
 
Последнее редактирование:

sitnem

Client
Регистрация
03.12.2016
Сообщения
122
Благодарностей
78
Баллы
28
В зенке нет такого режима, она ориентирована на полную автономную работу.
Если ввели режим возможности пользовательских действий во время выполнений значит уже появилась возможность использовать зенку под автоматизированные задачи с использованием человеческого вмешательства.

Конечно есть инструмент остановки в ключевых моментах, но он настолько простой, что даже незнаю где можно его применить.
И я как раз предлагаю расширить возможности этого инструмента для более широкого применения. Я уже написал одно из направлений, где целесообразно подобное вмешательство, а именно в направлении крупных рискованных финансовых операциях, не все вещи можно просчитать программой, последнее решение должно быть за человеком.

Как я вижу своим сугубо личным мнением, для тебя было бы лучше разработать управляемую форму из шаблона, куда бы в реальном времени скидывались бы данные из шаблонов, и на форме были бы элементы управления для воздействия на запущенные потоки.
Если нужно взаимодействие с шаблоном, при котором после моего решения, шаблон автоматически продолжает работу, использую телеграм, отправляю картинку вместе с кнопками (либо прошу ввести какой-то текст вместо кнопок) Но в некоторых ситуациях я понимаю, что все-таки зайти в инстанс и нажать пару кнопок всё же проще, к тому же бывают реально тяжелые случаи, которые тяжело запрограммировать, например чат с реальным человеком, где проверяют не бот ли ты. А, иногда ты просто не знаешь, какая страница тебя ждет впереди...

вот маленький пример.
Спасибо, изучу.

Я здесь предлагаю то, что полезно лично для меня (и как мне кажется не только для меня). У меня существует реальные проекты, для которых данная вещь очень бы мне облегчила жизнь. В конечном итоге, если часть клиентов поддержат инициативу и/или разработчики ZennoPoster'а оценят ее потенциал - ее реализуют, а если же нет, придется как-то выкручиваться самому.

Вообще, если бы не добавили этот функционал с действием пользователя, я бы вряд ли создал эту тему, но так как он создан, на мой взгляд сделать этот функционал более системным и структурированным не помешало бы, потому что сейчас им пользоваться не очень удобно (опять таки, если существует больше одного пользовательского действия на проект получается мешанина)
 
Последнее редактирование:

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