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

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

Добавлено: 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

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

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

Добавлено: 17 июн 2020, 21:20
Support
Вот пример скрипта, который выполняет рестарт потока:
<?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 будет равна порту, на котором запущен скрипт.