Skip to content

fix: disable_unhealthy_flow_schedules and _check_for_updates#989

Merged
Winzen merged 1 commit intomainfrom
fix/minor_fixs
Feb 26, 2026
Merged

fix: disable_unhealthy_flow_schedules and _check_for_updates#989
Winzen merged 1 commit intomainfrom
fix/minor_fixs

Conversation

@Winzen
Copy link
Contributor

@Winzen Winzen commented Feb 26, 2026

fix: disable_unhealthy_flow_schedules and _check_for_updates

disable_unhealthy_flow_schedules

No Prefect foi identificado um comportamento intermitente na desativação de schedules.
Devido a uma race condition entre o scheduler e a API, quando o scheduler ainda está processando ticks no momento da mutation, o schedule pode não ser efetivamente desativado na primeira chamada — mesmo retornando success.

Isso fazia com que flows considerados não saudáveis continuassem gerando novas execuções, exigindo nova tentativa manual para efetivar a desativação.


Foi implementada uma segunda tentativa imediata de desativação do schedule para cada flow validado como unhealthy:

for _ in range(2):  # Existe um bug onde o Flow não desativa com apenas uma query
    self.set_flow_schedule(flow_id=flow.id, active=False)

Essa abordagem mitiga a race condition do scheduler e garante que o schedule seja efetivamente desativado, tornando o processo determinístico e evitando a necessidade de reexecução manual.

check_for_updates

Foi identificado um erro na função check_for_updates. Algumas tables não possuem o atributo last_updated_at, o que gerava exceção durante a comparação e interrompia o fluxo normal da execução.

Também foi ajustada a função check_for_updates para tratar casos onde table.last_updated_at não está presente, evitando que a ausência desse atributo gere exceção e quebre a execução. Agora, nesses casos, a função trata o erro de forma segura e retorna False, preservando a estabilidade do processo.

@Winzen Winzen self-assigned this Feb 26, 2026
@Winzen Winzen added the prod Indica que o Pull Request está com a branch de destino (base) apontando para main label Feb 26, 2026
@Winzen Winzen merged commit 795b63c into main Feb 26, 2026
4 checks passed
@Winzen Winzen deleted the fix/minor_fixs branch February 26, 2026 10:13
Winzen added a commit that referenced this pull request Feb 26, 2026
## Descrição das Alterações

Este Pull Request tem como objetivo atualizar a branch atual com as últimas alterações da branch main, garantindo que a base de código esteja alinhada com as mudanças mais recentes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prod Indica que o Pull Request está com a branch de destino (base) apontando para main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] Mitigação de race condition na desativação de schedules + tratamento de last_updated_at ausente

1 participant