Добавить в кубики действий параметр таймаут.

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Есть некоторая путаница с "Таймаут" и "Ждать элемент не более".

Пример:
я открываю страницу с таймаутом 15 сек, она не прогрузилась и переходит к следующему действию, например клику в поле, этот клик ждет опять 15 сек и только потом, уходит по ошибке, если от него идет красная стрелка (игнорируя при этом настройку "Ждать элемент более")

Так вот:
В будущем планируют это исправить, и "Ждать элемент не более" будет работать.
Если он будет работать, то получается мы будем ждать таймаут + ждать элемент не более. Предположим 15 и 10 секунд. Всего 25.

Хотя лично мне, хотелось бы использовать настройку "Ждать элемент не более" только в том случае, когда страница загружена. А если она не загружена, то и ждать нечего. По моему не логично растягивать ожидание на два раза.

Получается путаница.

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

2020-04-07_203054.jpg

Многие скажут, есть же кубик таймаут. Его и ставь. Да конечно можно поставить, но вспомните когда вы ставили паузы между действиями и небыло настройки "Подолжать перед выполнением". Облегчила она вам жизнь? Конечно, на много стало удобнее. И тут ситуация похожая, идем постепенно к совершенству. В прочем решать вам, кнопка ниже)
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Это нонсенс. Сам кубик таймаут, ждет загрузки страницы.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
я открываю страницу с таймаутом 15 сек, она не прогрузилась
Страница совсем не загрузилась, там about:blank или только какой-то конкретный элемент(ы)?

Давайте просто сделаем возможность фиксированного выбора таймаута для каждого отдельного кубика.
Не очень понятно зачем добавлять в каждый кубик опцию таймаута, если проблема только с "переходом на страницу".
 
Последнее редактирование:

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Страница совсем не загрузилась, там about:blank или только какой-то конкретный элементы(ы)?
Просто 20-50% пакетов потеряно и страница ушла в бесконечную загрузку, для этого я делаю таймаут 15 сек. Соотвественно после выхода из таймаута идет проверка элемента на странице, что бы подтвердить не корректную загрузку. Но вместо этого, проверка уходит опять на таймаут и по итогу вместо нужных мне 15-20 сек, я жду 30-35. Вот почему я создал тему, не совсем мне понятно как реагировать на такие ситуации. Пока ZennoPoster не способен работать с мобильными проксями из коробки, мне приходится оптимизировать шаблоны, сейчас выросла нагрузка на сеть и и вопросы в стабильной работе при таких условиях стоят особо остро.

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

Ну и соответственно по красной ветке кубика проверки идет просто перезапуск страницы, а по зеленой возвращаются стандартные 15 секунд таймаута.

Возможно не для всех такие логические цепочки актуальны, но мне важны эти детали, 5 сек умножим на 100 выполнений, это 8 минут. Там 5 сек, тут 5 сек и мы теряем время и соответственно работа менее продуктивна.

Не очень понятно зачем добавлять в каждый кубик опцию таймаута, если на проблема только с "переходом на страницу".
Это не проблема, это следствие. Только не давно был случай когда к серверам зенолаба были проблемы с доступом, нагрузки на сети не редкость в наше время и лично я оптимизирую свои шаблоны для таких условий, потому мне так хочется))

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

____
P.S. Либо как вариант, сделать возможность для некоторых кубиков "игнорирование загрузки страницы".
Еще можно попробовать перед проверкой останавливать загрузку, но это совсем крайний вариант.
 
Последнее редактирование:

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Просто 20-50% пакетов потеряно и страница ушла в бесконечную загрузку,
Пожалуйста, ответьте на конкретный вопрос:
Страница в итоге загрузилась частично и продолжает загрузку или не загрузилась совсем за эти 15 секунд - белая страница?

Кубик таймаут 5 сек перед проверкой на элемент
Что за кубик таймаут? Если речь о "Пауза", то стоит понимать, что это совершенно разные действия.
Пауза 5 секунд означает, что данное действие будет выполняться ровно 5 секунд
Таймаут 5 секунд - это максимальное ограничение времени для выполнения действия.


Это не проблема, это следствие. Только не давно был случай когда к серверам зенолаба были проблемы с доступом, нагрузки на сети не редкость в наше время и лично я оптимизирую свои шаблоны для таких условий, потому мне так хочется))
И? Из-за этого нужно добавлять таймауты в экшены "Обработки текста", "Установки значения переменной" и всем остальным?
Кажется, что Вы не до конца понимаете предназначение таймаута.

Нужны таймауты в кубиках или нет, пусть уж голосование решает.
Сначала нужно понять в чём конкретно заключается проблема. Возможно, что она решается совершенно другим способом.
 
Последнее редактирование:

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Пожалуйста, ответьте на конкретный вопрос:
Страница в итоге загрузилась частично и продолжает загрузку или не загрузилась совсем за эти 15 секунд - белая страница?
Прошу прощения. Страница не загрузилась и продолжает загрузку, белая страница. В ошибку загрузка не идет а просто без конца грузит.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Сначала нужно понять в чём конкретно заключается проблема. Возможно, что она решается совершенно другим способом.
Если есть способ я не против. Такое воспроизвести можно если перебросить сигнал через европу что бы пакеты терялись. Например используя VPN + моб прокси.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Пока ZennoPoster не способен работать с мобильными проксями из коробки
В чем проявляется неспособность и как должно быть?

В ошибку загрузка не идет а просто без конца грузит.
Я правильно понимаю, что речь идет о том, чтобы выводить экшен "Переход на страницу" по красной ветке, если она не загрузилась?
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
В чем проявляется не способность и как должно быть?
Сложно сказать. Вот грузится страница на середине загрузки прокси перезагрузилась - ошибка. Клик, ввод текста, что угодно. Будет ошибка. Надо сверять всегда отсутствие разрыва сети + сверять что страница загрузилась, клик прошел, текст отправился. Есть простые сайты и не очень. У меня сайт на ajax и малейшие сбои катастрофически, приходится очень долго тестить что бы отловить все эти ошибкт и прикрутить соотвествкющую логику.
 
  • Спасибо
Реакции: ibred

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Я правильно понимаю, что речь идет о том, чтобы выводить экшен "Переход на страницу" по красной ветке, если она не загрузилась?
А как понять что она загрузилась. 1 страница это 100 запросов условно. Какие то важные, а какие то нет. Она может загрузится не полностью, но хтого хватит совершить действия. И не ждать загрузку второстепенных запросов.

Если можно как то тонко настраивать параметры выхода по красной ветке при загрузке, то может быть это и подошло бы. Заранее не могу сказать. Надо тестить.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
А как понять что она загрузилась. 1 страница это 100 запросов условно. Какие то важные, а какие то нет. Она может загрузится не полностью, но хтого хватит совершить действия. И не ждать загрузку второстепенных запросов.
В таком случае можно сделать проверку на "отправились ли важные запросы", которых достаточно для продолжения работы.
Это возможно реализовать уже сейчас с помощью метода GetTraffic().

Например, с помощью этого сниппета:
C#:
var traffic = instance.ActiveTab.GetTraffic();
foreach(var t in traffic) {
    if (t.Url=="https://zennolab.com/ru/") {
        return "Запрос был успешно отправлен";
    }
}
return "Такого запроса нет";
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
В таком случае можно сделать проверку на "отправились ли важные запросы", которых достаточно для продолжения работы.
Это возможно реализовать уже сейчас с помощью метода GetTraffic().

Например, с помощью этого сниппета:
C#:
var traffic = instance.ActiveTab.GetTraffic();
foreach(var t in traffic) {
    if (t.Url=="https://zennolab.com/ru/") {
        return "Запрос был успешно отправлен";
    }
}
return "Такого запроса нет";
Спасибо. Завтра (сегодня) попробую. О результатах отпишу.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
В таком случае можно сделать проверку на "отправились ли важные запросы", которых достаточно для продолжения работы.
Это возможно реализовать уже сейчас с помощью метода GetTraffic().

Например, с помощью этого сниппета:
Это просто потрясающе. Не знаю как я раньше жил без этого. Спасибо большое!
 
  • Спасибо
Реакции: Sergodjan

Igorii

Client
Регистрация
21.02.2015
Сообщения
371
Благодарностей
297
Баллы
63
В таком случае можно сделать проверку на "отправились ли важные запросы", которых достаточно для продолжения работы.
Это возможно реализовать уже сейчас с помощью метода GetTraffic().

Например, с помощью этого сниппета:
C#:
var traffic = instance.ActiveTab.GetTraffic();
foreach(var t in traffic) {
    if (t.Url=="https://zennolab.com/ru/") {
        return "Запрос был успешно отправлен";
    }
}
return "Такого запроса нет";
Спасибо! Но вот с доменами .РФ и урлами содержащими кирилицу, не работает. Можно сделать, что бы работало?
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Спасибо! Но вот с доменами .РФ и урлами содержащими кирилицу, не работает. Можно сделать, что бы работало?
РФ-домены нужно конвертировать в punycode, а кириллические URL энкодить.
 

Вложения

  • Спасибо
Реакции: Igorii и Mikhail B.

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
В таком случае можно сделать проверку на "отправились ли важные запросы", которых достаточно для продолжения работы.
Это возможно реализовать уже сейчас с помощью метода GetTraffic().

Например, с помощью этого сниппета:
C#:
var traffic = instance.ActiveTab.GetTraffic();
foreach(var t in traffic) {
    if (t.Url=="https://zennolab.com/ru/") {
        return "Запрос был успешно отправлен";
    }
}
return "Такого запроса нет";
Отличная вещь! Можно как то не такое строгое правило сделать, слэш исключить?
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Отличная вещь! Можно как то не такое строгое правило сделать, слэш исключить?
Можно использовать частичное вхождение t.Url.Contains("Здесь ссылка") или регулярное выражение.
 

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