Pular para o conteúdo principal

Configuração Essencial

O Kikwiflow expõe suas propriedades sob o prefixo kikwiflow.*. Este documento cobre apenas as que uma aplicação costuma precisar ajustar no dia a dia — para a referência completa de todas as propriedades e seus defaults, veja Referência de Configuração.

Os valores abaixo são um exemplo de configuração; o default de cada propriedade está no comentário.

kikwiflow:
process-definition:
auto-deploy:
enabled: true # default: true
path: "classpath*:processes/**/*.kikwi" # default: este mesmo padrão
security:
deploy-enabled: true # default: false — SEM isto, nenhum processo é implantado
execution:
task-acquisition-interval-millis: 1000 # default: 5000 — intervalo do poller de tarefas assíncronas
task-acquisition-max-tasks: 20 # default: 10 — tarefas buscadas por ciclo de poller
max-concurrent-tasks: 200 # default: 200 — teto de tarefas assíncronas simultâneas
lock-timeout-millis: 30000 # default: 5000 — por quanto tempo um worker "trava" uma tarefa
shutdown-grace-period-seconds: 30 # default: 20 — quanto esperar as tarefas em voo no shutdown
retry:
default-retry-interval: "PT1M" # default: PT3M — quando um nó não declara retryPolicy própria
pulse:
sse-endpoints:
enabled: true # default: true — endpoints Pulse (stats + stream SSE)
interval: 5000 # default: 5000 — intervalo de emissão do stream, em ms
PropriedadeQuando ajustar
process-definition.auto-deploy.enabled / .pathPara desabilitar o auto-deploy (deploy explícito via API/pipeline) ou organizar seus .kikwi em um caminho de classpath diferente do default. Ver Implantando Processos.
security.deploy-enabledPrecisa ser true para qualquer deploy acontecer — inclusive o auto-deploy do classpath. O default é false, de propósito.
execution.task-acquisition-interval-millisQuanto tempo, no pior caso, uma tarefa assíncrona (nó com commitBefore: true, um ramo de processamento paralelo) espera para ser retomada depois de pronta. Baixar reduz latência de continuação às custas de mais polling; é o valor que você calibra ao ajustar timeouts em testes de integração (ver Testando Seus Handlers).
execution.task-acquisition-max-tasks / max-concurrent-tasksO quanto o worker interno puxa por ciclo e o teto de execução simultânea — suba em cargas altas, baixe para limitar o consumo de recursos da aplicação.
retry.default-retry-intervalO intervalo padrão entre tentativas de retry quando uma tarefa não declara uma política própria (ver Retentativas).
execution.lock-timeout-millisPor quanto tempo uma tarefa adquirida fica travada para o worker que a pegou. Dimensione acima da duração do seu TaskHandler mais lento — um valor baixo demais deixa dois workers processarem a mesma tarefa.
pulse.sse-endpoints.enabled / .intervalHabilita os endpoints Pulse (snapshot de estatísticas + stream SSE) consumidos pelo monitor embarcado e por qualquer dashboard seu.
Sobre kikwiflow.retry.fatal-exceptions

Existe também uma lista retry.fatal-exceptions (nomes de classe de exceção que, ao ocorrer, pulam diretamente para abertura de incidente em vez de seguir a política de retry normal) — relevante ao lidar com falhas que retry nunca vai resolver (ex.: IllegalArgumentException por dado malformado). Um ponto de partida comum é java.lang.NullPointerException e java.lang.IllegalArgumentException. Detalhes de todas as propriedades de retry estão na referência completa do motor.

Próximo passo​

Para a lista completa de propriedades — incluindo outbox de eventos, API REST, histórico e o monitor embarcado — veja a Referência de Configuração. Para entender como o motor implementa o que essas propriedades controlam, veja Motor de Execução.