Локальный менеджер потоков

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Ответить
Хозяин Гугла
Сообщения: 27
Зарегистрирован: 19 июн 2019, 19:59

Локальный менеджер потоков

Сообщение Хозяин Гугла » 17 июн 2020, 19:01

А можно пример любого работающего кода с ним?
чтобы на 10 потоков показывал разные номера потоков например

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

echo "<br>$xhe_thread_num";
и как потом подгружать, допустим в пятый поток файл $t5, в шестой $t6 и так далее.
или под каждый поток надо отдельный скрипт делать с

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

$xhe_thread_num=$argv&1,2,3,4,5,6,7,8,9,10

и так далее.
не понятно.

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

Re: Локальный менеджер потоков

Сообщение Support » 17 июн 2020, 21:20

Вот пример скрипта, который выполняет рестарт потока:
<?php

// для многопотока - номер потока
$xhe_thread_num=$argv[1];
// для многопотока - порт потока
$xhe_thread_port=$argv[2];

// хост
$xhe_host ="127.0.0.1:8630";
// хост многопотока
$xhe_host ="127.0.0.1:$xhe_thread_port";
echo $xhe_host;
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

//$app->show_from_tray(true);
//$app->maximize();
// navigate to google
//$browser->navigate("google.com");
sleep(20);
$app->restart(__FILE__,$argv[1]." ".$argv[2]);

// Quit
$app->quit();
?>

что бы использовать например текстовый файл для каждого потока свой, то вам просто нужно назвать эти файлы например так: text1.txt,text2.txt и т.д.

тогда в скрипте чтение файла будет следующее:
<?php

// для многопотока - номер потока
$xhe_thread_num=$argv[1];
// для многопотока - порт потока
$xhe_thread_port=$argv[2];

// хост
$xhe_host ="127.0.0.1:8630";
// хост многопотока
$xhe_host ="127.0.0.1:$xhe_thread_port";
echo $xhe_host;
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// читаем файл в массив для заданного номера потока
$arr_txt = file("text".$xhe_thread_num.".txt");
в каждом потоке соответственно будет вместо $xhe_thread_num подставляться номер потока.

тоже самое касается и порта на котором работает скрипт. для каждого потока переменная $xhe_thread_port будет равна порту, на котором запущен скрипт.

Ответить