@alekssamos
Программист любитель

Длительное выполнение, очередь?

У меня есть PHP скрипт, допустим, для обработки фотографий, каждая обрабатывается секунд за шесть.
Но он успевает обработать только восемь из них. Дальше, несмотря на set_time_limit, (shared) хостинг обрывает выполнение.
Есть варианты как решить? Без поднятия своего личного сервера VDS, например?
Какую-нибудь очередь, чтобы каждая обрабатывалась в отдельном запросе.
Порядок важен, нужно обработать и вернуть результаты как можно скорее, крон через минуту не пойдёт.
Есть ли решение?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вариант 1: Через curl_multi_exec вызвать локально обработчики сразу для всех фотографий. Чревато большой пиковой нагрузкой.

Вариант2: Получив картинки, вернуть клиенту список ссылок отдельных обработчиков, чтобы он вызывал их по завершению обработки предыдущей картинки. Чревато тем, что клиент может закрыться до окончания обработки всех картинок. На такой случай можно добавить cron-задания обработки всего необработанного.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Если есть доступ к exec - запускайте скрипты из cli, на них ограничение по таймлимиту не распространяются.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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