Задать вопрос
@zkk777

Как решить проблему с одновременным выполнением скриптов php?

На сервере всего около 6 задач по крону запускаются каждую минуту, задачи не супер тяжелые, на выполнение одной задачи в пик уходит до 2 минут максимум, скрипты парсят информацию с другого источника, проблем в стороннем сервисе не наблюдается, на других сервера и веб-хостингах отдает информацию махом, как будто ограничение какое-то стоит на выполнение задач или еще чего-либо, даже пустой файл php он может грузить по 30 секунд такое чувство что в очереди стоит. Проверял нагрузку она даже до половины не доходит. Как и что нужно проверить чтобы найти проблему?
  • Вопрос задан
  • 368 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Daemon23RUS
@Daemon23RUS
Чтобы не запускался скрипт до окончания можно в начало каждого дописать адаптировав под себя
exec("ps -U #user# -u #user# u", $output, $result);
foreach ($output AS $line) if(strpos($line, "you_one_of_six_script.php")) die ......; //прошлое задание еще работает

Еще можно проверять запущен ли скрипт по крону, и выполнять это проверку только на работающий скрипт для крона. Можно писать каждому скрипту временный файл(или в базу) время его запуска(время, чтобы если скрипт крашнулся и не удалил файл, удалить его) , и удалять этот файл по завершении скрипта. А при запуске проверять наличие и выходить если есть файл.
Это поможет в том случае, если причина в в большом количестве запущенных скриптов, которые копятся как снежный ком не успевая отрабатывать.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽