Страница 1 из 1

Остановка работы XHE

Добавлено: 11 окт 2010, 15:28
ozware
Версия 4.0.12

Есть куча скриптов для регистрации на разных сайтах (регистрация e-mail, гостевые, блоги и т.п.).

Программа работает как-то странно. В один проход все регистрируется нормально и скрипты отрабатывают, а в другой проход XHE просто останавливается.

При этом процессор не загружен (0%), трафика в инет нет, на панели отладки показывается, что скрипт выполняется (красный квадрат активен, зеленый треугольник - нет). Работа идет без прокси.

Такое ощущение, что программа чего-то бесконечно ждет.

Особенно любит программа останавливаться при регистрации e-mail на qip.ru

Как посмотреть, что вообще с программой происходит в текущий момент времени? Может быть есть какой-то статус работы или лог ошибок?

PS: самое интересное, что при перезапуске программы скрипты отрабатывают нормально. Причины и закономерности такой остановки выявить не получается.

Добавлено: 11 окт 2010, 18:01
bigfozzy
возможно это из-аз использования команды

browser->wait(1) - т.е страница не догружается и от этого ждем бесконечно.

вместо этого можно использовать

browser->wait_for или напрямую использовать browser->is_busy.

Также рекоммендуется отключить все что можно для ускорения загрузки, даже картинки, а те что надо (капчу и т.п) подключать через image->show_by. Для скорости еще рекомендуем использовать Runtime версию - можно скачать в папке загрузки програмы.

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

Если это происходит на другой команде - не wait, то напишите плиз на какой - узнать можно через лог команд - разберемся

Добавлено: 11 окт 2010, 18:05
bigfozzy
вообщем нужно узнать конкретно на какой команде ждем - если что исправим и обновим по быстрому - думаю ничего сложного )

Спасибо

Добавлено: 12 окт 2010, 00:11
ozware
1. я везде использую wait_for, и даже увеличиваю количество попыток (второй параметр)
2. в коде для qip была ошибка, при определенных обстоятельствах получался бесконечный цикл. Стало меньше останавливаться, но все равно останавливается
3. я уже пробовал включить raw-лог - тормозит все жутко, поэтому я попросил в другой теме добавить функцию для вывода лога в файл
4. ну и буду дальше смотреть и выяснять, где все останавливается

Добавлено: 12 окт 2010, 00:31
ozware
кстати, а есть возможность просмотреть лог выполненных команд + время вызова этой команды?
например, что-то вроде:
[14:04:40 12.10.2010] $browser->navigate('http://www.yandex.ru/');
[14:04:45 12.10.2010] $browser->wait_for(60, 1);

PS: в информационной панели в последних командах ничего не выводится, скрипт опять стоит (уже 20 минут ничего не происходит)

Добавлено: 12 окт 2010, 01:04
bigfozzy
По логам команд и времени :

В диалоге настроек нужно включить на вкладке 'Логи' - чекбокс 'Разрешить лог команд', а просмотреть его можно через в меню Отладка->Логи->CommandLog.txt->Показать, там будет время когда пришла команда и что с ней стало, также можно включить и посмотреть просто 'Лог', там должна быть информация детальней.

А информационная панель следить за командами, только если она была заранее показана.

Если ничего не получится, завтра можно с утра стукнуть в аську саппорта - разберемся )

Добавлено: 12 окт 2010, 10:34
ozware
спасибо, буду смотреть

пока что по логам получается, что скрипт встает после выполнения $browser->wait_for

судя по логам, вызывается 2 раза IsBusy, возвращается true и в третий раз вызывается IsBusy, возвращается false, и после этого скрипт встает

пока что есть подозрение, что все же ошибка в моем коде :)

Добавлено: 12 окт 2010, 12:30
bigfozzy
Для отладки пхп можно еще использовать что-то типа Zend Studio - там можно по шагам в скрипте пройтись. В хумане пхп отладчик тока в планах - не так все просто это )

Запускать скрипт из зенда нужно при включеном хумане - в зенде отлаживаться а в хумане смотреть что делает браузер.

Добавлено: 12 окт 2010, 12:52
ozware
воспользовался вашими советами и нашел ошибку в своем скрипте, так что XHE тут ни при чем :)

спасибо за помощь, тему можно закрывать, т.к. ошибки в XHE нет