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

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Я уже описал проблему в разделе баги, но т. к. нет внимания, то дополню здесь.
http://www.geoimgr.com/en/tool
Здесь как обычно после обработки и назначения папки для загрузки кликаю кнопку "Download photo" и на этом кубике всё останавливается - процесс обработки кубика не заканчивается. При этом картинка нормально сохраняется.
Как переходить к следующему шагу не дожидаясь обработки кубика или как пофиксить этот баг?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
трудно сообразить, может быть это - https://help.zennolab.com/en/v5/zennoposter/5.10.6.0/webframe.html#topic26.html
но как это использовать, устанавливать до кубика, а как со следующими кубиками.. или это только таймаут загрузки страницы, не применимы к любым экшенам, хотя в описании написано таймаут операции, хз
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Загрузка страницы в браузере что-нибудь показывает при этом? Та горит зеленый Готово или красный Загрузка?
Вообще конечно пример бы не помешал. Я так думаю, что это на определенной странице проблема.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
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
 

Вложения

  • 70,7 КБ Просмотры: 2

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
вижу только одно решение пока, то что у вас зависает конвертнуть в си код и обвернуть статической функцией в общем коде. потом передать эту функцию в
Thread newThread = new Thread(СтатикКласс.ВашаСтатикФункция);

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

П.С. все ж кубики работают последовательно, если что-то надо остановить то оно должно останавливаться из основного потока, а значит останавливаемое должно быть во второстепенном потоке, по другому пока не представляю, может кто ещё подскажет
 
  • Спасибо
Реакции: Astraport

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
до 0.7 были свойства с возможностью установки NavigateTimeout Property
и Timeout Property
если первое свойство это для таймаута загрузки страницы, то второе я думал для любого кубика)) хз, но классы разные, но в конструктор ничего не передаётся, стопдаонлоад тоже непонятно
 
  • Спасибо
Реакции: Astraport

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Походу никто не знает, в двух темах проигнорили этот вопрос.
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(); // останавливаем загрузку страницы
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Походу никто не знает, в двух темах проигнорили этот вопрос.
А как тут поможешь, если пишешь - дайте конкретный пример, а тебе его не дают, остаётся гадать по звёздам.
Так же и тут. Мало ли, что там вообще происходит.
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
У меня такая же песня.
Скачивание изображения в гугл-картинках GET-запросом совершенно случайным образом повисает и дальше не двигается. Приходится прерывать проект и запускать заново.
 

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
Попробуй так:
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 сек ждать? А дальше уже по дефолту.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
У меня такая же песня.
Скачивание изображения в гугл-картинках GET-запросом совершенно случайным образом повисает и дальше не двигается. Приходится прерывать проект и запускать заново.
Хм, ни разу не зависал, хоть выкачал гигов 50 за сутки
 

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
видимо штатного решения так и не появилось?
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
Попробуй так:
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(); // останавливаем загрузку страницы
Хороший снипет, значительно ускоряет работу шаблона в целом.
Подскажите пожалуйста как время таймаута указать через переменную и адрес сайта через переменную?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Хороший снипет, значительно ускоряет работу шаблона в целом.
Подскажите пожалуйста как время таймаута указать через переменную и адрес сайта через переменную?
Через прав. кн. мыши в экшене C#: Установить значение из переменной.
Должно получится так: project.Variables["site"].Value
(без кавычек)
 
  • Спасибо
Реакции: kagorec

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