@Shillkas11

Apache как реализовать одновременную работу нескольких скриптов?

Привет. Есть скрипт который обрабатывает из бд некоторые данные, и по условию копирует эти данные другим записям в бд. Он запускается через браузер по ссылке site.com/admin/copy_data_from_db, его время выполнения около 24 часов.
Но сейчас при его запуске сервер перестает отвечать на другие запросы пользователей, возвращает ошибку 504 Gateway Time-out.

Нужно сделать так чтобы одновременно работал и этот тяжелый скрипт, и другие запросы пользователей, пусть даже с некоторой задержкой в скорости обработки. Т.е. сделать так чтобы параллельно выполнялись несколько скриптов. Насколько я знаю, Apache имеет возможность выполнения нескольких скриптов одновременно, но почему сейчас при запуске этого скрипта сервер не отвечает на другие запросы?

P.S. Запускать этот скрипт через консоль как я понимаю не получится, т.к. он привязан к symfony, а через консоль можно запускать только одиночные скрипты.
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
> через консоль можно запускать только одиночные скрипты

Читайте документацию и не выдумывайте глупости.

> Он запускается через браузер по ссылке site.com/admin/copy_data_from_db

Т.е. что бы положить нафиг ваш сайт нужно пройти по ссылке...

> Apache как реализовать одновременную работу нескольких скриптов?

Апач тут со всей силы ни причем. Прочитайте про mysql explain и оптимизируйте запросы.
Если оптимизировать некуда - разбивайте обработку на маленькие части, например по 500 строк за итерацию. Обратите внимание на уровни изоляции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Смотреть надо, что этот скрипт делает. Возможно, что он блокирует таблицы, а остальные скрипты не могут дождаться их освобождения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы