Всем привет, такой вопрос
есть аппка которая в случае аварии на производстве отправляет пуш уведомления. Когда случается авария отправляется уведомление и в очередь добавляется джоб который срабатывает через определенное время и если авария все еще присутствует, то отправляет еще одно уведомление и ставит следующий джоб (рекурсия).
Но есть такой граничный случай как если в промежутке этого времени (15 секунд) кто-то пофиксит и опять произойдет авария, то будет уже два джоба, хотя должен быть один, так как второй не закончится.
Этим можно управлять на уровне кеша и мол если джоб уже существует, то новый не создавать, но я боюсь ситуации если вдруг кто-то рестартанет процесс который запускает джобы, то в таком случае существующий джоб не успеет стереть кеш после себя, а новый джоб увидит, что кеш есть и не запустится. И тогда юзер вообще не будет уведомлен.
Есть какие идеи как "правильно" это реализовать?