@IsaevDev

Как лучше организовать отложенные http-запросы?

Я очень надеялся на RabbitMQ, но это не совсем то, что мне нужно. Много наворотов
Есть какой-то планировщик задач попроще, чтобы передал http-запрос в качестве параметра, далее сразу (либо через некоторый промежуток времени) этот планировщик запрос отправил, подождал результат, отправил следующий и тд?

Есть вариант написать такой на java - стоит ли затеваться?

upd. вся основная логика на php
  • Вопрос задан
  • 1036 просмотров
Решения вопроса 1
abler98
@abler98
Software Engineer
Возможно эти варианты подойдут:
1. Gearman (воркера можно на Node.js написать).
2. Redis Pub/Sub + сервер на Node.js (Broadcasting Events).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
beanstalkd

либо я вас не понял. В этом случае лучше опишите какую задачу вы хотите решить.
Ответ написан
safenoob
@safenoob
ну допустим. пользователь резервирует товар. через 30 минут нужно проверить факт подтверждения заказа в базе

В момент резервирования товара в базу летит запись где datetime - время резервирования. На cron работает скрипт который выбирает все товары где datetime > 30 минут и проверяет по ним заказы, если заказа нет - товар удаляем из резерва.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
жерман для ПХП канает вполне, не такой монстр как раббит

если нужен промежуток времени - всунь в воркер рендом слип
Ответ написан
Комментировать
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Данная задача достаточно просто реализуется при помощи Apache Camel. Во всяком случае для меня.

А вообще да, можно обойтись связкой cron+скрипт.
Ответ написан
Комментировать
Settler1
@Settler1
Правильно написанный вопрос - половина ответа
Самый простой вариант в юниксе есть 2 инструмента для отложенных задач:
1) команда at wget http://site.ru | at 06:00 - выполнит в указанное время
2) команда sleep sleep 4h && wget http://site.ru - выполнит через указанное время

Команда может быть любой, если файл который надо выполнить у вас на сервере то вместо wget можно использовать php.
Передавать команды можно через shell_exec
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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