Как поставить задачи в очередь для мгновенного ответа? | Yandex Cloud | ПромоСтраницы
Добавить в корзинуПозвонить
Добавить в корзинуПозвонить
Как поставить задачи в очередь для мгновенного ответа?

Поставьте долгие операции в очередь на Valkey (открытый форк Redis): приложение отвечает пользователю сразу, а обработку переносит в фон.

Пользователь не должен ждать, пока приложение закончит всю работу

Он нажимает «Сформировать отчёт» и ждёт, пока приложение соберёт данные. Проходят секунды или минуты, соединение может оборваться, а повторный клик запускает ту же задачу заново.

Готовый пресет Managed Service for Valkey позволяет отделить приём запроса от его обработки: поставить задачу в очередь, сразу продолжить пользовательский сценарий, а тяжёлую работу выполнить в фоне.

Примите задачу сейчас, обработайте позже

Приложение сохраняет сообщение в Valkey и подтверждает, что задача принята. Свободный обработчик забирает её из очереди и обрабатывает отдельно, не задерживая ответ пользователю.

Похожим способом можно поставить в очередь не только формирование отчётов, но и:

  • отправку писем и уведомлений;
  • генерацию документов;
  • обработку изображений и видео;
  • синхронизацию с внешними системами.

Превратите пик задач в очередь

Если одновременно поступят сотни задач, необязательно выполнять их все сразу.

Очередь принимает дополнительную нагрузку, а обработчики разбирают её в доступном темпе. Когда задач становится больше, можно добавить обработчики. Когда поток снижается, их можно сократить.

Приём пользовательских запросов при этом не зависит напрямую от числа выполняемых задач.

Что уже настроено

  • основной хост и реплика в двух зонах доступности (при его отказе сервис автоматически переключит нагрузку на реплику);
  • 4 vCPU и 32 ГБ RAM на каждом хосте;
  • сетевой SSD объёмом 40 ГБ;
  • политика NOEVICTION (при нехватке памяти Valkey не удаляет сохранённые задачи: новая запись завершается ошибкой, которую обрабатывает приложение);
  • репликация, обновления и резервное копирование со стороны сервиса.

Что остаётся настроить вам

Логику очереди по-прежнему реализуете вы. Нужно определить:

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

Пресет даёт готовую инфраструктурную основу, а вы определяете поведение очереди.

👉Посмотреть пресет «Брокер сообщений»

Листая дальше, вы перейдёте на yandex.cloud