многопоточность через XHE Manager

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

многопоточность через XHE Manager

Сообщение KEFIR4UK » 22 сен 2014, 13:07

Доброго времени суток! Вопрос не новый но на форуме толком ничего не нашел. Интересует организация многопоточности через XHE Manager и как правильно организовать ее там.
Запускаю XHE Manager, прописываю путь к самому хюману, и скрипту, ставлю порт на котором стоить хюман- это понятно.Вопросы такие:
1)В поле аргументы что писать?
2)Допустим ставлю 10 потоков.... он эти 10 потоков запускает с одного хюмана просто меняет на нем порты?
3)Как он берет файлы необходимые для работы скрипта(прокси,файлы с аккаунтами и тд..) - то есть он их как то отдельно разделает на части для каждого потока или как то по другому?Как организовать работу с такими файлами что бы каждый поток брал "свои" прокси и другие необходимые данные для работы скриптов

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

Re: многопоточность через XHE Manager

Сообщение Support » 22 сен 2014, 15:05

Добрый день.
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 и нажав кнопку «Запустить». Менеджер поочерёдно откроет заданное количество копий программы и начнёт отрабатывать скрипты.

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


Так же добавились аргументы командной строки самого Хумана: /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] - т.д.


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

И вот в данной статье можно найти некоторые ответы по тонкостям работы и какие каверзы могут возникнуть, если работать в рамках одного сайта https://xn--80awbbeioodeq4h3a.xn--p1ai/forum/viewtop ... 69&start=0

KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

Re: многопоточность через XHE Manager

Сообщение KEFIR4UK » 22 сен 2014, 15:59

Support писал(а): Так же добавились аргументы командной строки самого Хумана: /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] - т.д.
Здесь я не совсем понял. Есть допустим файл с проксями и аккаунтами и нужно что бы для каждого потока были свои прокси и акаунты - как это сделать?

KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

Re: многопоточность через XHE Manager

Сообщение KEFIR4UK » 22 сен 2014, 22:56

Я имею ввиду как присвоить переменной $argv[2] файл с проксями?Если я правильно понял.

Ответить