Воркеры — то, что крутится, пока вы спите

Любая автоматизация упирается в вопрос «кто это запустит». У нас запускают воркеры: фоновые исполнители, по одному на каждый повторяющийся процесс. Каждую секунду они проверяют, не пора ли.

  • Один цикл на всё.Ночная выгрузка, входящие сообщения, вебхуки CRM, напоминания агентов — всё идёт через один и тот же механизм.
  • Без ручного труда.Десятки тысяч прогонов в сутки. Никто не запускает их руками и не следит за часами.
  • Сам скажет, если что.Упал — выключился и написал в личку, почему. Чужой сбой — подождал и повторил.
чужой сбой → пауза и повтор Каждую секунду проверка всех проектов Интервал от 1 с до суток Очередь задача за задачей Событие сообщение, вебхук Прогон с таймаутом и журналом Готово результат в журнале Ошибка стоп · причина в личку
Один цикл на все воркеры: повод — прогон — исход

Три повода для запуска

Воркер привязан к одному из трёх поводов. Всё остальное — интервал, таймаут, число исполнителей — общее.

По интервалу
  • Сценарий стартует сам: раз в секунду, раз в 15 секунд, раз в сутки
  • Ночная выгрузка расходов, утренняя сводка, проверка сроков
  • На проде интервалы от 1 секунды до 24 часов
Из очереди
  • Вебхук от Bitrix24, amoCRM или Salebot сначала ложится в очередь
  • Воркер берёт задачи по одной и исполняет сценарий
  • Перезапуск сервера очередь не теряет
По событию
  • Сообщение боту или в личный аккаунт Telegram, MAX, ВКонтакте
  • Воркер слушает канал и заводит задачу
  • Он же следит, что подключение к мессенджеру живо

Повторы у задач из очереди не слепые: упавшая задача не исполняется заново сама, иначе клиент получил бы сообщение дважды.

Ошибка — это событие, а не тишина

Самое дорогое в автоматизации — узнать о поломке через неделю от клиента. Поэтому у воркеров любая ошибка заканчивается сообщением человеку.

  1. 1
    Каждый прогон записан.
    Сколько шёл, чем кончился, что вернул. Кнопка «Текст» показывает суть в десять строк вместо простыни JSON.
  2. 2
    Упал — выключился.
    Воркер сам гаснет, задача помечена ошибкой. Ничего не уходит клиенту второй раз.
  3. 3
    Причина — в личку.
    Сообщение в MAX ответственному: какой воркер, какой блок, какое поле. Не «что-то сломалось», а что именно.
  4. 4
    Чужой сбой — не наш стоп.
    Внешний сервис не ответил или попросил подождать: воркер делает паузу 5, 10, 20 секунд и повторяет. Он не выключается, но команда получает предупреждение.
  5. 5
    Осознанный отказ — не авария.
    Сценарий сам решил, что задача недоставляема, и закрыл её с разбором. Воркер работает дальше.

Зависшие задачи автоматически не перезапускаются: их видно на экране очередей, и человек решает — вернуть в работу или закрыть.

Сколько тянет и как остановить

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

  • Параллельно.У воркера может быть несколько исполнителей, на проде до десяти. Каждый берёт свою задачу, друг другу не мешают.
  • С пределами.Таймаут на каждый прогон, интервал между запусками. Зависший вызов не держит остальных.
  • Тремя рубильниками.Тумблер воркера. Выключенный раздел проекта останавливает его воркеров. Общий рубильник на время выката: новых прогонов не берёт, начатые доживают.
Запуски
три повода
  • Интервал: секунда, минута, сутки
  • Очередь: вебхуки Bitrix24, amoCRM, Salebot
  • Событие: Telegram, MAX, ВКонтакте
Контроль
ничего не тонет
  • Упал — выключился, второй раз не отправит
  • Причина в личку: какой блок, какое поле
  • Журнал каждого прогона
Нагрузка
без перегрева
  • До 10 параллельных исполнителей
  • Таймаут на каждый прогон
  • Рубильник на время выката
Проверка
не ждать сутки
  • «Запустить сейчас» с результатом в ответ
  • Очереди и зависшие задачи на экране
  • Теги, поиск, ошибки отдельно
Сбой внешнего сервиса — не повод стоять: пауза 5, 10, 20 секунд и повтор.
Всё это уже работает на проде

Панель воркеров в проекте и у администратора

Всё управление — в браузере. Программист не нужен ни чтобы включить воркер, ни чтобы понять, почему он встал.

список
Воркеры проекта
Включён или нет, тип, интервал, таймаут, сценарий. Теги и поиск по названию.
кнопка
Запустить сейчас
Проверить правку, не дожидаясь интервала. Результат, длительность и ошибка — сразу в ответе.
журнал
Логи прогонов
Каждый запуск: статус, время, результат. «Текст» — коротко, «JSON» — целиком.
очереди
Очереди и ошибки
Сколько задач ждёт, сколько в работе, сколько зависло. Вернуть в работу или закрыть — одной кнопкой.

Администратору — сводка по всем проектам: сколько воркеров включено, общий рубильник, включить или выключить всё разом.

Девять типов — пять ролей

Тип воркера задаёт, откуда он берёт работу. Для команды это пять понятных ролей.

72
Очередь задач
Берёт задачу из очереди и исполняет сценарий: вебхуки Bitrix24, amoCRM, Wazzup, заявки с сайтов.
40
По расписанию
Исполняет сценарий по интервалу без задачи: выгрузки, сводки, проверки.
10
Сторож мессенджера
Слушает Telegram, MAX, ВКонтакте: бот или личный аккаунт. Держит подключение живым.
12
CRM и рассылки
Сроки задач, живые события в интерфейсе, рассылки по сегментам.
3
Агенты
Таймеры и напоминания чат-ботов: написать первым, если клиент замолчал.

Цифры — число воркеров каждой роли на проде на 28.09.2026.

Что нужно от вас

От вас — ничего. Воркеры заводятся вместе со сценариями и интеграциями, интервалы и уведомления настраиваем при внедрении.

Показать этот модуль на вашей задаче?

За 30 минут посмотрим, как он ляжет на ваш процесс, и скажем, что включается сразу, а что требует настройки.

Выберите способ связи

Написать в MAX Написать в Telegram