выполнение долгова скрипта.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Vlad-Planet
Сообщения: 1
Зарегистрирован: 2021.10.27, 21:07

выполнение долгова скрипта.

Сообщение Vlad-Planet »

Всем доброго времени суток!

Подскажите пожалуйста!
Переискал весь интернет, не нашел ответа.

При выполнении долгих скриптов, весь сайт висит, ждет пока завершится скрипт, после чего можно пользоваться сайтом.

дело даже не в скрипте,
сделал пустой action, с залипанием на 40 секунд:

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

public function actionFork()
{
	usleep(40000000);
}
при обращении на данную страницу сайта,
запускается скрипт, и страница "fork" ждет 40 секунд,

почему в данный момент, я не могу пользоваться сайтом? другими страницами сайта?
весь сайт просто ждет завершения данного скрипта.


при том же, если я в корне каталога, создаю каталог "dir", и в этой папке в .htaccess указываю, чтобы эта папка, как бы не имела отношения к движку, чтобы можно было обратиться в её содержимое.

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

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

создаю два файла:
" index.php " (site.ru/dir/index.php)

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

usleep(40000000);

и " start.php " (site.ru/dir/start.php)

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

echo '!@';
то я могу параллельно пользоваться этими страницами, пока " index.php " ждет 40 сек. при обращении к нему...
я открываю start.php
и вижу '!@'


почему при использовании Yii2
я обращаюсь к странице site.ru/task/fork :

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

public function actionFork()
{
	usleep(40000000);
}

я не могу открыть ни одну из страниц данного сайта,
весь сайт просто ждет, пока выполниться скрипт.

как бы не дает возможность работать с сайтом паралельно выполнении этого скрипта
Ответить