Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Блокировка конкурирующих запусков через Redis

Использует Redis для синхронизации и предотвращения одновременного запуска нескольких экземпляров. Обеспечивает безопасное выполнение критических операций.

Показать оригинал (англ.)
Prevent concurrent workflow runs using Redis

Automated workflow: Prevent concurrent workflow runs using Redis. This workflow integrates 11 different services: stickyNote, wait, switch, redis, set. It contains 43 nodes and follows best practices for error handling and security.

Вебхук (Webhook)Продвинутый · 44 нодыExecuteworkflowRedis
Как это работает

Схема сценария, как в редакторе n8n: ноды и связи между ними. Кликните, чтобы рассмотреть.

клик - увеличить ⤢◆When Executed byAnother WorkflowexecuteWorkflowTrigger⑂Switchswitch◆When clicking‘Test workflow’manualTrigger⑂If2if◆Is Workflow ActiveexecuteWorkflow◆Set WorkflowActiveexecuteWorkflow◆Set WorkflowFinishedexecuteWorkflow◆Get Keyredis◆Set Keyredis◆UnSet Keyredis≡Set Timeoutset≡set continueset⑂If Nodeif◆Is WorkflowActive1executeWorkflow⚠Stop and ErrorstopAndError◆No Operation, donothingnoOp◆Set WorkflowActive1executeWorkflow◆Set WorkflowFinished1executeWorkflow◆Waitwait⑂If1if◆Is WorkflowActive2executeWorkflow⚠Stop and Error1stopAndError◆Set WorkflowFinished2executeWorkflow◆Wait1wait◆Wait2wait◆Wait3wait◆Set Workflow"started"executeWorkflow◆Set Workflow"finishing"executeWorkflow◆Set Workflow"loading"executeWorkflow◆Is WorkflowActive3executeWorkflow⑂Switch1switch⚠Error HandlerstopAndError
  1. ТриггерWhen clicking ‘Test workflow’Manual
  2. ТриггерWhen Executed by Another WorkflowExecute Workflow
  3. ДействиеIs Workflow Active2Execute Workflow
  4. ДействиеIs Workflow Active3Execute Workflow
  5. ДействиеIs Workflow Active1Execute Workflow
  6. ДействиеSet TimeoutSet
  7. ДействиеIf1If
  8. ДействиеIs Workflow ActiveExecute Workflow
  9. ДействиеSwitch1Switch
  10. ДействиеIf NodeIf
  11. ДействиеSwitchSwitch
  12. ДействиеIf2If
  13. ДействиеSet Workflow "started"Execute Workflow
  14. Обработка ошибокStop and Error1Stop And Error
  15. ДействиеGet KeyRedis
  16. ДействиеSet KeyRedis
  17. ДействиеUnSet KeyRedis
  18. ДействиеSet Workflow Active1Execute Workflow
  19. Обработка ошибокStop and ErrorStop And Error
  20. ДействиеWait1Wait
  21. Действиеset continueSet
  22. ДействиеNo Operation, do nothingNo Op
  23. ДействиеSet Workflow "loading"Execute Workflow
  24. Обработка ошибокError HandlerStop And Error
  25. ДействиеWaitWait
  26. ДействиеWait2Wait
  27. ДействиеSet Workflow "finishing"Execute Workflow
  28. ДействиеSet Workflow ActiveExecute Workflow
  29. ДействиеSet Workflow FinishedExecute Workflow
  30. ДействиеWait3Wait
  31. ДействиеSet Workflow Finished1Execute Workflow
  32. ДействиеSet Workflow Finished2Execute Workflow

Сценарий «Блокировка конкурирующих запусков через Redis» состоит из 32 ноды: When clicking ‘Test workflow’, When Executed by Another Workflow, Is Workflow Active2, Is Workflow Active3, Is Workflow Active1, Set Timeout, If1, Is Workflow Active и других. Интеграции: Executeworkflow, Redis.

Что понадобится
ПараметрЗначениеОписание
Учётные данныеExecuteworkflow · RedisДля каждого сервиса нужен свой ключ/токен - впишете их в n8n после установки.
Объём сценария44 ноды · продвинутыйЧисло нод и уровень сложности логики. Больше нод - тоньше настройка.
Форматn8n workflow JSONГотовый воркфлоу. При развороте через кнопку импортируется автоматически.
Установка в один клик

Развернуть n8n с этим сценарием

Готовый сервер с n8n из маркетплейса Fatmetal - воркфлоу уже загружен. Рекомендованная конфигурация уже подставлена в заказ: 2 CPU · 4 ГБ · 50 ГБ. Останется вписать свои ключи, и автоматизация заработает. Нужна помощь с настройкой под нагрузку или сетью? Напишите инженеру.

Защищённый инстанс

n8n отдаём закрытым, а не голым

n8n часто атакуют - поэтому инстанс приезжает уже защищённым, без ручной настройки.

Владелец создан заранее

Аккаунт администратора настроен автоматически при развёртывании. Окно самостоятельной регистрации закрыто - никто не перехватит ваш инстанс в первые минуты после запуска (частый вектор атаки на self-hosted n8n).

Единый пароль с сервером

Логин в n8n - тот же пароль, что у вашей машины. Не нужно искать отдельные креды в файлах, меньше шансов оставить дефолт.

fail2ban против перебора

Автоматически банит IP после серии неудачных попыток входа по SSH. Защита от брутфорса из коробки.

HTTPS и security-заголовки

Трафик шифруется (Let's Encrypt, авто-обновление), выставлены HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy - защита от кликджекинга, MIME-снифинга и downgrade-атак.

Что дальше

После оплаты - сервер с готовым сценарием

Сервер создаётся автоматически за несколько минут. Ничего настраивать вручную не нужно - n8n поднимется сам, а этот сценарий уже будет внутри.

1

Сервер создаётся

После оплаты сервер разворачивается автоматически за несколько минут: ставится n8n, база данных и HTTPS. Дождитесь готовности в личном кабинете.

2

Открываете адрес

Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например IP 45.15.159.10 → https://45-15-159-10.fatmetal.net/. HTTPS уже настроен. Готовый адрес также есть в личном кабинете - можно просто скопировать его оттуда.

3

Входите готовыми данными

Аккаунт владельца уже создан - регистрировать ничего не нужно. Логин: admin@<адрес вашего сервера> (тот же адрес, что открыли на шаге 2 - например admin@45-15-159-10.fatmetal.net). Пароль - тот же, что у вашего сервера: он в личном кабинете и в /root/n8n-credentials.txt на сервере. Войдите и при желании сразу смените пароль в настройках. Интерфейс английский - у n8n нет русской локализации.

4

Сценарий уже внутри

Этот сценарий уже импортирован - найдёте его в разделе Workflows. Останется вписать свои ключи для интеграций (Executeworkflow, Redis) в Credentials и включить сценарий.

Важно: сохраните ключ шифрования. Ключ (N8N_ENCRYPTION_KEY) и пароль базы лежат на сервере в /root/n8n-credentials.txt. Этим ключом зашифрованы учётные данные интеграций - берегите его и сделайте резервную копию: без ключа их не восстановить даже из бэкапа базы.
Оригинал сценария (англ.): «Prevent concurrent workflow runs using Redis». Источник: коллекция Zie619/n8n-workflows (лицензия MIT).
Спросить инженера в TelegramМы на связи