Многопоточность в Human Emulator Studio. Изолированные закладки.

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

Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение Support » 18 ноя 2019, 21:34

Первая статья из цикла про многопоточность в Human Emulator Studio Многопоточность в Human Emulator Studio. Изолированные закладки. Подробнее поговорим про server_tab и работу с этой переменной из C#.

Скачать примеры на php и C#
multi.zip
(161.27 КБ) 15 скачиваний

Аватара пользователя
super
Сообщения: 131
Зарегистрирован: 03 ноя 2017, 13:58

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение super » 11 фев 2020, 21:50

Подскажите, как запускать следующие задания не дожидаясь выполнения текущего.

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

$bat_str .='"C:\XWeb Studio\Human Emulator Studio\PHP\php.exe" -c "C:\XWeb Studio\Human Emulator Studio\PHP\php.ini" -f "C:\XWeb Studio\Human Emulator Studio\My Scripts\multi\thread.php" '.$i."\r\n";

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение bigfozzy » 11 фев 2020, 21:55

как вариант:
https://www.computerhope.com/starthlp.htm

еще можно менеджером воспользоваться.

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение Support » 11 фев 2020, 21:55

super писал(а):
11 фев 2020, 21:50
Подскажите, как запускать следующие задания не дожидаясь выполнения текущего.
То есть вы хотите запускать одновременно разные скрипты в отдельных закладках браузера?

Аватара пользователя
super
Сообщения: 131
Зарегистрирован: 03 ноя 2017, 13:58

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение super » 11 фев 2020, 22:00

Скрипт один, но с разными данными в закладках.

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение bigfozzy » 11 фев 2020, 22:06

Попробуйте через старт в bat файле :
https://www.computerhope.com/starthlp.htm

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение Support » 11 фев 2020, 22:07

По идее вот этот код и запускает сразу несколько скриптов в закладках без ожидания:
// создаём нужное количество строк для бат файла
for($i=0;$i<$cnt_browsers;$i++)
{
  $bat_str .='"C:\XWeb Studio\Human Emulator Studio\PHP\php.exe" -c "C:\XWeb Studio\Human Emulator Studio\PHP\php.ini" -f "C:\XWeb Studio\Human Emulator Studio\My Scripts\multi\thread.php" '.$i."\r\n";
}
// запишем bat файл
$textfile->write_file("run.bat",$bat_str);

Если вам надо добавлять запуск с другими параметрами вы просто дописываете в bat файл нужные строки перед тем как его запускать:
// запустим на выполнение
$app->shell_execute("run","run.bat");

Аватара пользователя
super
Сообщения: 131
Зарегистрирован: 03 ноя 2017, 13:58

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение super » 11 фев 2020, 22:39

На всякий случай скриншот.
Вложения
cmd.png
cmd.png (16.98 КБ) 24 просмотра

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение Support » 11 фев 2020, 22:47

Возможно из-за того что используется один и тот же php.exe то он ожидает выполнения предыдущей команды.

Можно попробовать раскопировать папки с php скажем PHP0, PHP1, PHP2 и т.д. запускать для каждой закладки свой PHP.

То есть код в скрипте будет тогда такой:
// создаём нужное количество строк для бат файла
for($i=0;$i<$cnt_browsers;$i++)
{
  $bat_str .='"C:\XWeb Studio\Human Emulator Studio\PHP'.$i.'\php.exe" -c "C:\XWeb Studio\Human Emulator Studio\PHP'.$i.'\php.ini" -f "C:\XWeb Studio\Human Emulator Studio\My Scripts\multi\thread.php" '.$i."\r\n";
}
// запишем bat файл
$textfile->write_file("run.bat",$bat_str);
// запустим на выполнение
$app->shell_execute("run","run.bat");
 


Аватара пользователя
super
Сообщения: 131
Зарегистрирован: 03 ноя 2017, 13:58

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение super » 11 фев 2020, 22:50

Хорошая идея, попробую.

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

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение Support » 11 фев 2020, 22:57

Через команду start работает и с одним php
// создаём нужное количество строк для бат файла
for($i=0;$i<$cnt_browsers;$i++)
{
  $bat_str .='start "php'.$i.'"  "C:\XWeb Studio\Human Emulator Studio\PHP\php.exe" -c "C:\XWeb Studio\Human Emulator Studio\PHP\php.ini" -f "C:\XWeb Studio\Human Emulator Studio\My Scripts\multi\thread.php" '.$i."\r\n";
}
// запишем bat файл
$textfile->write_file("run.bat",$bat_str);
// запустим на выполнение
$app->shell_execute("run","run.bat");

Аватара пользователя
super
Сообщения: 131
Зарегистрирован: 03 ноя 2017, 13:58

Re: Многопоточность в Human Emulator Studio. Изолированные закладки.

Сообщение super » 12 фев 2020, 08:53

Работает, спасибо.

Ответить