Human Emulator


Robotic browser automation

sales@webemulator.com

Бесплатная онлайн консультация по возможностям программы.

English version of the site

Многопоточность и выполение скриптов

  • В: А HumanEmulator многопоточен?

    Да, как многие уже могли заметить, в корневике программы с версии 4.0.12 появился ещё один экзешник: XHEManager. С его помощью запуск скриптов в многопоточном режиме можно значительно упростить. Не смотря на то, что Менеджер позволяет размножать папки с программой специальной опцией из меню «Файл». Так же можете ознакомиться с данной статьёй
  • В: Как запустить скрипт в несколько потоков?

    Cтатья по этому поводу есть у нас на блоге.
  • В: Как правильно организовывать функции очистки и перезапуска приложения в скрипте, для корретной работы и разгрузки памяти в многопотоке?

    // функция очистки и перезапуска приложения
    function clear_and_restart()
    {
     global $app, $debug, $browser;
     // чистим все
     $browser->navigate("about:blank");
     sleep(2);
     $browser->clear_address_bar_history();
     $browser->clear_cache();
     $browser->clear_cookies("");
     $browser->clear_history();
     $browser->recreate();
     sleep(2);
     // перезапускаем приложение
     $app->restart($debug->get_cur_script_path(),"", $app->get_port());
    }
  • В: Я создаю много потоков и для каждого проставляю номер потока, а скрипты идут с переменной, куда вставляются номера потоков, но при следующих запусках номер потока ставится не тот который я использую в XHEManager, например поток 7030 при следующем запуске может запуститься 7034 или 7045.

    В настройках программы HE (Основные "F9") нужно поставить галочку спрашивать об изменении порта. То есть проблема вся в том что порт занят, а занят он может быть потому что не успела закрыться программа при перезапуске например или не корректно прекращена была работа программы. Также есть функция app->restart, которая используется для корректного перезапуска скрипта.

  • В: Подскажите,синтаксис запуска конкретного скрипта по клику ярлыка, чтобы он стартовал сразу скрипт?

    В ярлык пишется так C:\XWeb\7100\XWebHumanEmulatorMT.exe /start /port="7100" /script:"c:\Scripts\Script1.php". Нужно старт тоже заэкранировать через "/". Порт ставите который у вас.



Если у вас возникли пожелания какие ответы вы бы хотели видеть здесь еще, пишите в нашу службу поддержки.