Cardinal
Новичок
Синхронизация запросов
Подскажите пожалуйста как мне синхронизировать несколько запросов.
Пример:
Есть скрипт который вызывается клиентом
Необходимо синхронизировать его выполнение. т.е. пока этот скрипт не выполнится до конца не обслуживать новые запросы к нему от клиента.
Скрипт который позволяет подать несколько запросов подряд
Сейчас log.inc выглядит вот так
process: 1 start
process: 2 start
process: 3 start
process: 4 start
process: 5 start
process: 6 start
process: 7 start
process: 8 start
process: 1 stop
process: 2 stop
process: 9 start
process: 3 stop
process: 6 stop
process: 4 stop
process: 5 stop
process: 7 stop
process: 8 stop
process: 9 stop
а нужно чтоб выглядел так:
process: 1 start
process: 1 stop
process: 2 start
process: 2 stop
...
Подскажите пожалуйста как это можно сделать без использования расширений ПХП таких как Semaphore, Shared Memory and IPC Functions.
Подскажите пожалуйста как мне синхронизировать несколько запросов.
Пример:
Есть скрипт который вызывается клиентом
PHP:
$fp = fopen("log.inc", "a");
fwrite($fp, "process: ".$_GET['id']." start \n");
echo "start";
for ($i = 0; $i < 1000; $i++)
{
for ($j = 0; $j < 1000; $j++)
{
}
}
echo "stop";
fwrite($fp, "process: ".$_GET['id']." stop \n");
fclose($fp);
Скрипт который позволяет подать несколько запросов подряд
PHP:
for ($i = 1; $i < 10; $i++)
{
$get_str = "?id={$i}";
$arr = parse_url("http://server/");
$nn = "\r\n";
$host = $arr["host"];
$ref = $arr["scheme"]."//$host";
$path = $arr["path"];
$post ="";
$request = "GET $path{$get_str} HTTP/1.0" . $nn .
"Referer: $ref" . $nn .
"Content-Type: application/x-www-form-urlencoded" . $nn .
"Content-Length: " . strlen($post) . $nn .
"Host: $host" . $nn .
"Accept: */*" . $nn .
$post .
"Connection: Close" . $nn . $nn;
$fp = fsockopen($host, 80, &$errno, &$errstr, 30);
fputs($fp, $request);
}
process: 1 start
process: 2 start
process: 3 start
process: 4 start
process: 5 start
process: 6 start
process: 7 start
process: 8 start
process: 1 stop
process: 2 stop
process: 9 start
process: 3 stop
process: 6 stop
process: 4 stop
process: 5 stop
process: 7 stop
process: 8 stop
process: 9 stop
а нужно чтоб выглядел так:
process: 1 start
process: 1 stop
process: 2 start
process: 2 stop
...
Подскажите пожалуйста как это можно сделать без использования расширений ПХП таких как Semaphore, Shared Memory and IPC Functions.
)