Как отменить долгую обработку кубика?

  • Автор темы Автор темы Astraport
  • Дата начала Дата начала

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 084
Реакции
4 633
Баллы
113
Я уже описал проблему в разделе баги, но т. к. нет внимания, то дополню здесь.
http://www.geoimgr.com/en/tool
Здесь как обычно после обработки и назначения папки для загрузки кликаю кнопку "Download photo" и на этом кубике всё останавливается - процесс обработки кубика не заканчивается. При этом картинка нормально сохраняется.
Как переходить к следующему шагу не дожидаясь обработки кубика или как пофиксить этот баг?
 
трудно сообразить, может быть это - https://help.zennolab.com/en/v5/zennoposter/5.10.6.0/webframe.html#topic26.html
но как это использовать, устанавливать до кубика, а как со следующими кубиками.. или это только таймаут загрузки страницы, не применимы к любым экшенам, хотя в описании написано таймаут операции, хз
 
Загрузка страницы в браузере что-нибудь показывает при этом? Та горит зеленый Готово или красный Загрузка?
Вообще конечно пример бы не помешал. Я так думаю, что это на определенной странице проблема.
 
2 сервиса и везде такая трабла.
Вот для loc города для примера.
Код:
Развернуть Свернуть Копировать
California, United States
Las Vegas, NV, United States
New York, NY, United States
Florida, United States
Washington, DC, United States
San Antonio, TX, United States
 

Вложения

  • Temp.zip
    Temp.zip
    70,7 KB · Просмотры: 2
вижу только одно решение пока, то что у вас зависает конвертнуть в си код и обвернуть статической функцией в общем коде. потом передать эту функцию в
Thread newThread = new Thread(СтатикКласс.ВашаСтатикФункция);

начать выполнять вашу функцию newThread.Start();
потом в цикле от 0 до 1 первым запустить
Thread.Sleep(ваше время ожидания в секундах)
вызвать newThread.Abort();
и сделать брейк из цикла.

П.С. все ж кубики работают последовательно, если что-то надо остановить то оно должно останавливаться из основного потока, а значит останавливаемое должно быть во второстепенном потоке, по другому пока не представляю, может кто ещё подскажет
 
  • Оценить
Реакции: Astraport
до 0.7 были свойства с возможностью установки NavigateTimeout Property
и Timeout Property
если первое свойство это для таймаута загрузки страницы, то второе я думал для любого кубика)) хз, но классы разные, но в конструктор ничего не передаётся, стопдаонлоад тоже непонятно
 
  • Оценить
Реакции: Astraport
Походу никто не знает, в двух темах проигнорили этот вопрос.
ZennoPoster новая версия 5.10.7.0 (20.04.2017)
[+] Добавлен метод instance.StopDownloads для остановки фоновых загрузок.

Попробуй так:
C#:
Развернуть Свернуть Копировать
int count = 10; // грубо говоря, максимальное время загрузки страницы, сек
Tab tab = instance.ActiveTab;
if ((tab.IsVoid) || (tab.IsNull)) return null;
tab.Navigate("https://yandex.ru/", ""); // навигейт на страницу (но тут может быть и клик по ссылке/кнопке)
for (int i = 0; i < count; i++) {
    if (tab.IsBusy) // проверяем загрузилась ли страница
        Thread.Sleep(1 * 1000); // пауза
    else
        return "ok"; // если загрузилась за указанное время, то ok
}
// Если страница не загрузилась, то принудительно
instance.StopDownloads(); // останавливаем фоновые загрузки (работает с версии 5.10.7.0 (20.04.2017))
tab.Stop(); // останавливаем загрузку страницы
 
Последнее редактирование:
Походу никто не знает, в двух темах проигнорили этот вопрос.

А как тут поможешь, если пишешь - дайте конкретный пример, а тебе его не дают, остаётся гадать по звёздам.
Так же и тут. Мало ли, что там вообще происходит.
 
У меня такая же песня.
Скачивание изображения в гугл-картинках GET-запросом совершенно случайным образом повисает и дальше не двигается. Приходится прерывать проект и запускать заново.
 
Попробуй так:
C#:
Развернуть Свернуть Копировать
int count = 10; // грубо говоря, максимальное время загрузки страницы, сек
Tab tab = instance.ActiveTab;
if ((tab.IsVoid) || (tab.IsNull)) return null;
tab.Navigate("https://yandex.ru/", ""); // навигейт на страницу (но тут может быть и клик по ссылке/кнопке)
for (int i = 0; i < count; i++) {
    if (tab.IsBusy) // проверяем загрузилась ли страница
        Thread.Sleep(1 * 1000); // пауза
    else
        return "ok"; // если загрузилась за указанное время, то ok
}
// Если страница не загрузилась, то принудительно
instance.StopDownloads(); // останавливаем фоновые загрузки (работает с версии 5.10.7.0 (20.04.2017))
tab.Stop(); // останавливаем загрузку страницы
А куда это все пихать? До кубика клик по ссылке скачивания?
И что в итоге будет? )
Постоянно во всем шаблоне время ожидания загрузки страницы станет 10 сек? А если нужно только после этого шага 10 сек ждать? А дальше уже по дефолту.
 
У меня такая же песня.
Скачивание изображения в гугл-картинках GET-запросом совершенно случайным образом повисает и дальше не двигается. Приходится прерывать проект и запускать заново.
Хм, ни разу не зависал, хоть выкачал гигов 50 за сутки
 
видимо штатного решения так и не появилось?
 
Попробуй так:
C#:
Развернуть Свернуть Копировать
int count = 10; // грубо говоря, максимальное время загрузки страницы, сек
Tab tab = instance.ActiveTab;
if ((tab.IsVoid) || (tab.IsNull)) return null;
tab.Navigate("https://yandex.ru/", ""); // навигейт на страницу (но тут может быть и клик по ссылке/кнопке)
for (int i = 0; i < count; i++) {
    if (tab.IsBusy) // проверяем загрузилась ли страница
        Thread.Sleep(1 * 1000); // пауза
    else
        return "ok"; // если загрузилась за указанное время, то ok
}
// Если страница не загрузилась, то принудительно
instance.StopDownloads(); // останавливаем фоновые загрузки (работает с версии 5.10.7.0 (20.04.2017))
tab.Stop(); // останавливаем загрузку страницы
Хороший снипет, значительно ускоряет работу шаблона в целом.
Подскажите пожалуйста как время таймаута указать через переменную и адрес сайта через переменную?
 
Хороший снипет, значительно ускоряет работу шаблона в целом.
Подскажите пожалуйста как время таймаута указать через переменную и адрес сайта через переменную?
Через прав. кн. мыши в экшене C#: Установить значение из переменной.
Должно получится так: project.Variables["site"].Value
(без кавычек)
 
  • Оценить
Реакции: kagorec

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