Oi a todos,
Estou usando PostgreSQL com n8n e estou tentando entender a melhor forma de lidar com múltiplos workflows atualizando o mesmo registro ao mesmo tempo.
Por exemplo, duas execuções de webhook poderiam tentar atualizar a mesma linha simultaneamente:
UPDATE orders
SET status = ‘processed’
WHERE order_id = 1001;
Minha preocupação é evitar problemas como:
Atualizações perdidas
Condições de corrida
Processamento duplicado
Dados inconsistentes
Estou lendo sobre bloqueio em nível de linha (FOR UPDATE), bloqueio otimista e transações, mas não tenho certeza de qual abordagem funciona melhor em um ambiente n8n de produção.
Para quem está rodando PostgreSQL com workflows de alta concorrência:
• Vocês contam apenas com transações, ou também usam bloqueios em nível de linha?
• Quando vocês escolheriam bloqueio otimista em vez de bloqueio pessimista?
• Alguém experimentou deadlocks e como vocês lidaram com eles?
• Alguma dica de produção para manter os dados consistentes sem prejudicar o desempenho?
Gostaria de saber o que funcionou bem para outros em implementações reais do n8n.
Descrever o problema/erro/pergunta
Qual é a mensagem de erro (se houver)?
Por favor, compartilhe seu workflow
(Selecione os nós em sua tela e use os atalhos de teclado CMD+C/CTRL+C e CMD+V/CTRL+V para copiar e colar o workflow.)
Compartilhe a saída retornada pelo último nó
Informações sobre sua configuração n8n
- Versão do n8n:
- Banco de dados (padrão: SQLite):
- Configuração do n8n EXECUTIONS_PROCESS (padrão: own, main):
- Executando n8n via (Docker, npm, n8n cloud, aplicativo desktop):
- Sistema operacional: