У меня вопрос, если можете, проконсультируйте пожалуйста.
Делаю личный сайт.
Есть недорогой виртуальный shared хостинг со следующими ограничениями:
память под php скрипт 256 мб.
макс. время выполнения PHP скрипта 30 сек.
Конечная задача стоит такая: нужно загружать на сервер изображения .jpg высокого разрешения, порядка от 48 до 150 мегапикселей, и распиливать их на тайлы (+некоторая обработка).
В идеале изображения должны загружаться в диалоговом режиме на сервер (синхронно), после чего там распиливаться (асинхронно), после чего оригинал удаляется.
Время выполнения скрипта не укладывается в 30 секунд, нужно как то организовывать очередь задач. Я представляю, каким образом скрипт можно партицировать на отдельные задачи, но не знаю, как организовать несколько запусков скрипта, как передавать следующему запуску скрипта, на каком месте остановился предыдущий. По идее весь скрипт для одного изображения должен отрабатывать не больше 15 минут в самом сложном случае, а обычно минуты 3-5. Изображений будет загружаться немного, максимум, думаю, до сотни в день, в среднем - единицы.
Как обойти 30 секундный лимит?
От рекомендуемых в инете решений глаза разбегаются, и непонятно что целесообразно делать в моем случае.
1) PHP + использовать gearman. тяжелая артиллерия, не знаю как проверить, можно ли запустить на хостинге, и не будет ли стрельбой из пушки по воробьям?
2) cron + PHP worker + queue stored in mysql or in a JSON file. Есть например вот это, но пример кода увы отсутствует: https://habrahabr.ru/post/147844/
3) PHP + ajax + js, синхронная обработка с прогресс баром. Непонятны моменты как передавать текущий статус, ну и хотелось все таки чтобы пользователь после загрузки изображения мог спокойно закрывать браузер, а не ждать постобработки.
4) js - processing photo at client then loading. Этот вариант рассматривать не хотелось бы.
5) не PHP. может быть переписать скрипт на python, может быть там не будет такого ограничения по времени выполнения? как это можно узнать?
SSH доступ к серверу есть.