Как называется подход в проектировании веб-приложения?
Здравствуйте!
Как называется подход в проектировании/паттерн при котором реализуется такой сценарий:
1) Есть веб-приложение, которое выполняет какой-то долгий джоб (генерирование отчета, анализ данных и так далее).
2) Клиент запрашивает его выполнение
3) Задача уходит в очередь
4) Выполняется
5) Результат публикуется по ~временной~ ссылке и клиент может забрать его там.
Интересует как можно выполнить последний шаг. Какие есть подходы, технологии для реализации, подводные камни... Хочется полезные статьи, литературу. Можно примеры кода.
Ну если на php то... Например сначала ставим на сервер классический скрипт для скачивания файлов который генерирует временные ссылки и выдаёт их пользователям. Далее делаем скрипт который делает отчёт и кладёт его в папку. В имени файла ОБЯЗАТЕЛЬНО должен быть идентификатор клиента. Далее ставим cron-скрипт который делает scandir раз в 5 минут допустим. Как появляется новый файл в папке он добавляет его в БД, он же по идентификатору клиента может послать письмо и сказать "Ваш отчёт готов вот ссылка (временная) действует 1 час".