Как организовать очередь POST-запросов, если сервер в дауне?
Здравствуйте! Сильно не пинайте, не знаю, что и делать. Прошу помощи.
Проблема такая: мне нужно получать данные извне, обрабатывать и перенаправлять сформированный JSON на сервер N, который очень часто не отвечает (не знаю, что они там с ним делают). Сам сервер N на IIS. Получается, что мой софт отправляет сформированный JSON, сервер его не хавает (тупо не работает) и данные теряются. Те клянутся, что сервак у них мульен процентов аптайм, но врут. Как мне выкрутиться из этой передряги? Что делают вообще в таких случаях? Погуглил вопрос, толком ничего не нашел, но понял, что нужно организовывать FIFO-очереди запросов, как это сделать средствами PHP я не знаю, у меня мало опыта в таких делах.
Додумал пока что до следующего:
Создать таблицу в базе для запросов с полями для JSON, DATETIME и какой-то меткой типа "обработан" (BOOL). Отправляем запрос. Если не получаю 200, то сую этот запрос в БД. Так не отправленные запросы с данными будут хоть не теряться. Включается крон-скрипт и поминутно? долбим сервак пустым запросом, пока не получим 200. Как только получим 200, то этот же скрипт берет из БД самый старый запрос и отправляет его, и так по цепочке, попутно выставляя метку "обработан" в true. Костыль ((
На большее меня не хватило, буду рад помощи и может быть даже готовым решениям, если они есть? Как вообще в этом случае поступают нормальные разработчики? Заранее спасибо за ответы!
Тупо скидывай все задания в папку в виде JSON-файлов с данными, которые надо отправить. Дальше кроном каждую минуту их отправляй по одному, при успешной отправке тупо удаляешь файл. Итого, задание будет бесконечно выполнятся, пока не будет выполнено и стерто. Почему именно так? Это проще и удобнее, чем базой.