Запуск будущего события на основе текущего события

Я хотел бы вызвать событие когда-нибудь в будущем на основе события, которое происходит в настоящее время. Я не ожидаю, что громкость будет слишком высокой, поэтому меня больше волнует простота, чем производительность.

Например:

  • событие А происходит. мне нужно, чтобы событие B произошло днем ​​позже (не критично ко времени)
  • система хранит запись события в дБ
  • текущий процесс просматривает базу данных, выполняет готовые события B и удаляет их из базы данных

Имеет ли это смысл? Я использую Ruby на рельсах - я думаю, что это довольно распространенный случай

2 ответа

Решение

Используйте камень DelayedJob. Обратитесь к этому скриншоту для получения дополнительной информации.

Да, это имеет смысл:). Вероятно, вы должны смотреть на планировщик или процесс, который выполняется в фоновом режиме. Посмотрите здесь и здесь

По сути, всякий раз, когда вы заканчиваете выполнение своего события A, вы будете помещать запись в базу данных с полем, указывающим, когда оно должно выполняться. Как вы говорите, ваш текущий процесс, который должен быть запланирован для запуска в фоновом режиме, может быть либо запланирован поэтапно, либо выполнять опрос и запрашивать базу данных и продолжать оттуда, как вы сказали.

Другие вопросы по тегам