Как создать очередь запросов к API различных сервисов на PHP?
Привет, друзья!
При подаче заявки от клиента необходимо обращаться по очереди к списку сервисов. Как только один из сервисов ответит по заявки положительно, прекращать очередь запросов. На каждый запрос тратить не более 30 секунд, если сервис в течении этого времени не отвечает, переходить к следующему.
Подскажите, пожалуйста, как реализовать такой алгоритм, какие инструменты можно использовать?
RabbitMQ как вариант, можно Redis, можно самописную систему, поместили задача в таблицу(очередь)(одним скриптом), второй скрипт вытягивает задачу из очереди, выполняет ее и ставит статус что сделал.
Андрей, IgorNoskov, Крон, который запускается ровно раз в минуту, также как и крон, который запускается раз в 30 секунд, нужно дорабатывать. Потому что кроном гарантируется запуск задачи в определенное время с точностью до минут. Однако секунды могут быть любые в рамках этой минуты. Особенно это заметно если задания стартуют часто и их много. Чтобы нужная программа гарантировано заработала скажем ровно в 11 минут и 0 секунд, ее нужно запустить по крону в 10 минут, проспать скажем 1-2 с., затем спать в цикле и ждать пока наступит 0 с, затем выполнять что надо. Таким же образом делается запуск в 30 с или любое другое количество с.