Какие существуют асинхронный планировщики задач для Python?
Разрабатываю асинхронного TG-бота, в котором пользователь может выбрать время и день недели для получения уведомления, затем инструкция будет циклично повторяться еженедельно Планировщик должен поддерживать персистентность и свойство misfire. При этом самое главное - задачи должны храниться не в ОП (REDIS), а в какой либо иной БД, предпочтительно MySQL Mongo. Работа планировщика и подключение к БД должно быть асинхронным
class NotificationTask(Base, AsyncAttrs):
__tablename__ = "notification_tasks"
id = Column(Integer, primary_key=True)
telegram_user_id = Column(Integer, nullable=False)
day_of_week = Column(Enum("mon", "tue", "wed", "thu", "fri", "sat", "sun", name="days"), nullable=False)
time = Column(Time, nullable=False)
message = Column(String, nullable=False)
is_active = Column(Boolean, default=True)
timezone_offset = Column(Integer, default=0)
Планировщик должен периодически проверять активные задачи и отправлять уведомление в указанное пользователем время с учётом его временной зоны. Важно, чтобы всё было асинхронным, включая работу с БД (MySQL или MongoDB). Какие планировщики вы можете посоветовать, чтобы реализовать такую архитектуру?