Чего не достает или что плохо описано в документации

часто задаваемые вопросы по программе
Ответить
Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Чего не достает или что плохо описано в документации

Сообщение bigfozzy » 22 окт 2013, 14:52

Сюда принимаются запросы на доработку и создание документации.

Все что вы желаете видеть в разделах Cправка и FAQ как на форуме так и на сайте.

Спасибо.

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение nikson » 27 фев 2014, 03:37

Не совсем понятно как работать с XHE Manager, как синхронизировать потоки, как задать все необходимые аргументы, каким образом работает синхронизация через менеджер?

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение Support » 27 фев 2014, 15:42

Добрый день.
XHEManager. С его помощью запуск скриптов в многопоточном режиме можно значительно упростить. Не смотря на то, что Менеджер позволяет размножать папки с программой специальной опцией из меню «Файл» , есть куда более экономичный и простой способ, который и будет описан ниже.

Начнём с подготовки скрипта. Найдите (или добавьте в начало нужного скрипта, если этой строки в нём нет) переменную $xhe_host ="127.0.0.1:7010"; Чтобы скрипт запускался без проблем, нужно заменить порт в этой строке на переменную $argv[1]. После этого строка станет примерно такой: $xhe_host ="127.0.0.1:".$argv[1]; Если в скрипте планируется использование рестарта ($app->restart), то переменную $argv[1] нужно также поставить вместо аргументов $params и $port. То есть, функция будет выглядеть примерно так: $app->restart($scriptpath="",$argv[1],$argv[1]);

Проведённые нами манипуляции позволят передавать в скрипт все нужные для полноценной работы данные, так что осталось лишь добавить задание через менеджер. В меню «Добавить» необходимо проверить путь к программе, указать путь к скрипту и в строке «Порт» выставить номер порта. Количество нужных потоков можно определить после щелчка по соответствующей галочке.

После всего этого можно стартовать нужные потоки, выделив их через ctrl и нажав кнопку «Запустить». Менеджер поочерёдно откроет заданное количество копий программы и начнёт отрабатывать скрипты.

*Длину паузы между запусками копий программы можно выставить в настройках.
*Кнопка «Остановить все» закрывает все запущенные копии Эмулятора, а не останавливает работающие в них скрипты.
*Узнать подробности о предназначении кнопки можно узнать из выпадающей справки, если остановить на ней курсор.

Постараемся сделать наглядную статью по XHE Manager'y.

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение nikson » 27 фев 2014, 15:55

Добрый день!

А отдельно аргументы для локальных переменных нужно создавать? У меня в основном скрипте весь список перебирается через цикл for, как в таком случае будут синхронизироваться потоки чтобы для каждого потока бралась своя строка? И что означает кнопка "Синхронизировать потоки" в менеджере, каким образом она их будет синхронизировать?

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение Support » 27 фев 2014, 16:35

Так же добавились аргументы командной строки самого Хумана: /script_args:"7011 " /in_tray:"true". Аргумент /script_args служит для передачи аргументов внутрь скрипта, а /in_tray за сворачивание при старте Хумана в трэй. Нужно отметить, что с помощью /script_args можно передовать в скрипт любое количество агрументов. Для передачи их в скрипт используется запись /script_args "7015 аргумент1 аргумент2 и т.д. ". Для получения этих аргументов в скрипте используется $argv — массив переданных скрипту аргументов, где: $argv[0] - это всегда путь к скрипту, а $argv[1]- порт. Остальные аргументы будут находиться в элементах массива $argv, начиная со второго, то есть: $argv[2] - аргумент1, $argv[3] - аргумент1, $argv[4] - т.д.


Синхронизация - это не синхронизация потоков, а синхронизация отображения потока в менеджере,то есть после перезапуска программы он отвязывается от менеджера и получается что бы его привязать обратно нужно синхронизировать менеджер с отвалившимися потоками. Или если хуманы уже были запущены менеджер запускаешь и делаешь синхронизацию тогда это потоки появляются в менеджере.

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение nikson » 28 фев 2014, 12:45

Можно как-то задать глобальную переменную, повесить ее на счетчик и передать в качестве аргумента в менеджере потока?

Возьмем для примера простой цикл:

Код: Выделить всё

$file_url = file("data/url.txt");
$file_res = "res/url.txt";

for($i = 0; $i < count($file_url); $i++) {
$url = trim($file_url[$i]);
$browser->navigate($url);
Как задать аргумент чтобы каждый поток брал строку со своим номером $i? Не совсем понимаю как это делается на XHE, ведь тут каждый поток это отдельная копия, у каждой копии свой счетчик и тд и тп. На дескопе это реализуется простой критической секцией.

nazir
Сообщения: 12
Зарегистрирован: 12 мар 2014, 17:24

Re: Чего не достает или что плохо описано в документации

Сообщение nazir » 12 мар 2014, 18:01

1. Можно добавить статью по использованию (синтаксису) использования регулярных выражений в программе.
Использование регулярного выражения при обработке текста из файла и из переменной.

2. Подробное описание удаленного управления программой. Через браузер и через файл.

3. Описание того как послать команду на выполнение скрипта в Human Emulator к примеру из сайта wordpress. Если программа находится на том же хостинге. Если программа находится на другом хостинге.

4. Tutor запуска Human Emulator в Linux. Установка wine, установка Human Emulator. Запуск и исполнение команд Human Emulator под линуксом.

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Чего не достает или что плохо описано в документации

Сообщение Support » 13 мар 2014, 12:29

Добрый день.
По статье материал готовится, в скором времени выложим статью по регулярным выражениям, с примерами.
В данных статья рассказывается про удаленное управление программой http://www.x-scripts.com/articles/remote_work_xhe.php
В этой статье запуск программы через bat-файл http://www.x-scripts.com/articles/multithread1.php
Программы HumanEmulator работает под системой Windows.

Клава
Сообщения: 71
Зарегистрирован: 22 янв 2015, 17:29

Re: Чего не достает или что плохо описано в документации

Сообщение Клава » 08 мар 2015, 18:14

Support писал(а): Постараемся сделать наглядную статью по XHE Manager'y.
Можно ссылку? - так я и не понял как с ним работать

Ответить