Предотвратить добавление новых задач unill предыдущие не успели в Dramatiq работает на вершине Рэдис

Приложения должны обновить некоторые лица каждые N минут. Я решая эту задачу, используя APScheduler и Dramatiq.

autoupdate

Текущая структура выглядит следующим образом: каждые N минут, APScheduler запускает функцию, которая запускает авто-обновление задач для каждой сущности в базе данных.

autoupdate

Проблема в том, что число лиц неизвестно и может быть изменено пользователем. Так что я не знаю, если все задания будут выполнены, прежде чем рядом , поэтому мне нужно, чтобы предотвратить очереди от затопления с задачами.

autoupdatesupports counting tasks only for RabbitMQ

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

Сейчас я планирую поехать в Redis его клиент и рассчитывать на задачи. Есть ли лучший способ?