ТTessora Docs

Safebot и фоновые задачи

Instagram downloader на BullMQ + Redis

Safebot — модуль «Скачать Референс»: скачивает видео из Instagram, кладёт в хранилище и позволяет одним кликом превратить его в задачу.

Архитектура

UI /safebot → POST /api/safebot/items (Instagram URL)
            → BullMQ queue "safebot-items" (Redis)
            → Worker (Railway): скачивает MP4 → загружает в R2
            → POST /api/safebot/items/[id]/worker-update (SAFEBOT_WORKER_SECRET)
UI ← polling статуса → promote → создаётся Task + Reference

Очередь: src/lib/queue/safebot-queue.ts. Статус на клиенте — Zustand-стор src/stores/safebot-status.ts.

Статусы (SafebotItemStatus)

СтатусЗначение
PENDINGСоздан, ждёт воркер
DOWNLOADINGСкачивается из Instagram
DOWNLOADEDMP4 в хранилище, готов к promote
FAILEDОшибка (можно retry)
PROMOTEDИз видео создана задача

Операции

  • Retry — повторить неудачное скачивание (POST …/retry).
  • Promote — полноценный flow создания задачи из видео (POST …/promote).
  • Quick promote — быстрый вариант с минимальной конфигурацией (POST …/quick-promote).
  • Download — скачать mp4 на компьютер (POST …/download).
  • Скачанным видео можно назначать категорию референсов (categoryId).

worker-update — internal endpoint: авторизуется не сессией, а заголовком с SAFEBOT_WORKER_SECRET. Только для воркера.

Полный список endpoints — в API Reference.

On this page