TGViewer
Sleepless tech | Евгений J Sleepless tech | Евгений J @five_a_m · 762 subscribers
Post #683 545
#dev
Привет!

Забыл тут поделиться открытием.
Когда разрабатывал своих @ytb_cover_bot и @aiko_tiktok_download_bot решил как то предохраниться от дыдоса и спросил чатгопоты как это делают большие дяди. Он мне предложил сделать обработку запросов в очереди, используя например библиотеку Bull.

Суть такая. Создаешь бд на Redis и подключаешь очередь к редису

const videoDownloadQueue new Bull("tiktok-queue", {
redis: { host, port, password },
});


Юзер отправляет сообщение и если это сообщение на обработку видео, например, вы отправляете его в редис.
videoDownloadQueue.add(task);

Как только в бд что-то появляется, бот может это сразу обработать (или не сразу, а подождав пока обработается предыдущий запрос). Тем самым можно ограничивать пропускную способность, как общую, так и для единичного пользователя (ответив ему мол, не спеши, друг).

videoDownloadQueue.process(async (job) => {
const { videoInfo, lang, chatId } = job.data;
......
})


ПЛЮС, тут как раз открывается простор для масштабирования. Ты можешь спокойно слушать эту очередь вообще в другом процессе/приложении/серваке и например вынести тяжелую таску со своего VPS у которого осталось 10МБ оперативы, на другую тачку (хоть на локальный комп).

Я как-то брал пару созвонов с ментором по архитектуре и он мне как раз рассказывал про такие очереди, но я подумал чет как-то сложно, а оно как будто и не особо. Так что попробуйте!
  • 🔥 8
  • 👍 4
  • 🤔 2
More from @five_a_m
  1. Sep 22, 2026Поискал облачных провайдеров которые, так сказать под крылом Р К Н. Justhost и vdsina отва…
  2. Sep 22, 2026Когда понимаешь, что выборы прошли успешно 😊
  3. Sep 15, 2026Чисто мои мысли когда общаюсь с ИИ
  4. Aug 28, 2026Хакнул casio тут на днях. Теперь у меня есть таймер
  5. Jul 25, 2026Привет! Очередной день, очередные проблемы печати. То, без чего невозможно представить 3д…
  6. Jul 7, 2026Очень приятно, когда ресторан украшен для любителей пайки. Смотрите какой большой кусок ка…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →