🛠 Как работает очередь задач в ARSENKIN TOOLS — просто о сложном
Когда вы в инструменте нажимаете кнопку «Начать» или «Анализировать», задача отправляется в работу — но не мгновенно. Она проходит несколько этапов. Рассказываем, как всё устроено изнутри.
🔁 Цепочка обработки задачи:
1️⃣ Проверка (статус: В ожидании)
Система принимает задачу, валидирует параметры и решает, запускать её или нет. Иногда задача остаётся в ожидании дольше, если лимит одновременных задач по вашему тарифу уже достигнут (например, активны 3 из 15 отправленных задач).
2️⃣ Запуск (статус: В работе)
Задача уходит в микросервисы. В зависимости от инструмента, данные собираются либо через наши парсеры, либо через партнёров (например, Яндекс Search API или живая выдача).
📌 Почему задача может «зависнуть» в статусе В работе?
Иногда задача в статусе "В работе" выполняется дольше обычного — и вот почему:
— Большая очередь запросов и задач.
— Проблемы с парсингом: могли отвалиться прокси, измениться вёрстка выдачи, обновиться каптча, временно отказать какой-нибудь узел сервиса.
— Перегрузка каналов: как у наших парсеров, так и у партнёров.
Мы мониторим такие ситуации и при необходимости переключаем задачи на другие каналы. Пишите нам в поддержку, если увидите аномальные изменения во время работы инструментов.
3️⃣ Ожидание сбора данных
Микросервисы ждут, пока источники вернут данные. Это может занять время — особенно в пиковые часы. Мы стараемся в пиковые часы увеличивать ресурсы парсеров.
4️⃣ Обработка и расчёты
Собранные данные возвращаются в основную систему, обрабатываются, форматируются и выводятся на странице инструмента.
————————-
📊 Прогресс задачи
На странице инструмента и раздела Очередь можно отслеживать прогресс выполнения — от 0% до 100%.
————————-
⚠️ Что делать, если задача «Зависла»?
Такой статус означает, что произошёл технический сбой. Если он возник — напишите в техподдержку @arsenkintools_support и укажите ID задачи. Мы разберёмся и поможем.
🗂 После выполнения
Готовая задача исчезает из очереди и попадает в отчёты или сохраняется в истории на странице инструмента.
————————-
🎯 Зачем такая сложная архитектура?
Мы используем микросервисы, чтобы система оставалась стабильной и гибкой при высоких нагрузках. Это надёжнее, чем обрабатывать всё в одной системе: легче масштабироваться, ловить ошибки и избегать сбоев при большом потоке задач.
🤘🤘