Mixpost без очередей — это не автопостинг, а гарантированный хаос
Если лить контент в несколько каналов, очередь нужна не для красоты, а чтобы не убивать API, не ловить дубли и не превращать публикации в рандом. Под капотом всё устроено проще, чем кажется: один воркер, одна задача, один понятный статус.
Базовая схема:
— отдельная очередь на каждый тип нагрузки: посты, отложка, повторные попытки
— лимит параллельных задач, а не «пусть крутится как получится»
— retry только с backoff, иначе при сбое вы устроите DDoS самому себе
— логируй ответ платформы, а не только факт отправки
Для Mixpost важны три вещи: scheduler не должен делать публикацию сам, он должен класть задачу в очередь; воркер должен жить отдельно от веб-процесса; хранилище очереди лучше держать вне локального диска, если не хочешь терять задания после рестарта. Redis здесь обычно закрывает вопрос без лишней драмы.
Практика простая: один контейнер Mixpost, один Redis, один worker, отдельный cron только на постановку задач. А если контент идет пачками — режь по приоритетам: срочное, плановое, массовое. Так ты не будешь ждать, пока «важный» пост утонет среди десяти однотипных задач. Владей своим софтом, а не арендуй его.
Self-hosted арсенал
@self_hosted_arsenal_ubt
Mixpost без очередей — это не автопостинг, а гарантированный хаос
Этот пост опубликован в Telegram-канале Self-hosted арсенал. Подписаться можно по ссылке: @self_hosted_arsenal_ubt.