Асинхронная обработка задач с гарантией доставки at-least-once и встроенными dead-letter очередями — без развёртывания Kafka или RabbitMQ.
Сообщение считается обработанным только после явного подтверждения потребителем. Если подтверждение не пришло вовремя, сообщение возвращается в очередь для повторной обработки.
Назначайте приоритет каждому сообщению — критичные задачи, например уведомления об оплате, обрабатываются раньше фоновых операций вроде пересчёта аналитики.
После настраиваемого числа неудачных попыток сообщение автоматически перемещается в dead-letter очередь для ручного разбора, не блокируя обработку остальных задач.
Планируйте доставку сообщения на конкретное время — удобно для напоминаний, отложенных уведомлений и retry-логики с индивидуальным расписанием.
# Публикация задачи в очередь
await hexly.queues.publish("emails.send", {{
"to": "user@example.com",
"template": "welcome"
}}, priority=5)
# Обработчик на стороне потребителя
@hexly.queues.consumer("emails.send")
async def handle(message):
await send_email(message.payload)
await message.ack()
Бесплатный план включает 100 000 запросов в месяц — достаточно для полноценной оценки.