<@ULVA73B9P> do you speak portuguese
# ask-marvin
g
@Marvin do you speak portuguese
m
thought for 4.1 seconds
Sim! Posso falar português (PT-BR ou PT-PT). Quer continuar a conversa em português? Como posso ajudar com o Prefect?
g
Sim, por favor
Me fala as últimas atualizações do prefect
n
at this time you must tag marvin, only responds to app mentions
g
@Marvin fale sobre as última atualizações do prefect
m
thought for 16.8 seconds
Aqui vai um resumo das últimas atualizações do Prefect (3.4.22): - Correções de bugs: - Corrige erros de inicialização ao instalar com
pydantic
2.10 no Python 3.9/3.10 — PR #19095 - Corrige rollback de transação de tarefa assíncrona quando iniciada a partir de tarefa síncrona — PR #19097 - Documentação: - Documentados os métodos de instância de serving — PR #19075 Changelog completo (3.4.21 → 3.4.22): ver diffs Quer que eu resuma também as mudanças das últimas versões anteriores ou algo específico (deploy, workers, armazenamento, Cloud vs. OSS)? Para atualizar:
Copy code
pip install -U prefect
g
@Marvin speak in português about
m
thought for 7.5 seconds
Claro! Sobre o que exatamente você quer que eu fale em português? Algumas opções comuns: - Novidades do Prefect 3.x - Como criar e fazer deploy de flows (
flow.from_source(...).deploy(...)
) - Workers e Work Pools - Schedules e orquestração - Blocks (credenciais, armazenamento, etc.) - Integrações (AWS, Docker, Kubernetes) - Migração do Prefect 2.x para 3.x Diga o tema e eu preparo um resumo ou passo a passo.
g
@Marvin fale em portugues sobre as ultimas atualizaçoes do prefect server
m
thought for 211.4 seconds
g
@Marvin não entendi
m
thought for 10.9 seconds
Desculpe pela confusão! Você quer que eu explique o quê, em português? Se for sobre as últimas atualizações do Prefect, aqui vai em termos simples (versão 3.4.22): - Corrigimos um erro que impedia o Prefect de iniciar quando usado com
pydantic
2.10 no Python 3.9/3.10. - Corrigimos um problema de “rollback” em tarefas assíncronas iniciadas por tarefas síncronas. - Atualizamos a documentação sobre métodos de “serving”. Changelog completo: ver mudanças Se não era isso, me diga qual tema você quer que eu explique (ex.: deploy de flows, workers, schedules, integrações com AWS/Docker/K8s) e eu preparo um passo a passo.
g
@Marvin fale em portugues sobre melhorias que posso colocar no meu prefect server
m
thought for 320.2 seconds
n
> 🔄 Researching your answer... this may take a while > ... > 🔄 Pesquisando sua resposta... isso pode demorar um pouco Marvin reservará um momento para pesquisar a resposta à sua pergunta e depois postar a resposta aqui
m
Aqui vai um resumo, em português, das últimas novidades do Prefect Server (OSS) na linha 3.x (especialmente 3.4.x): Principais mudanças e melhorias - CLI do Server mais completa - Comandos disponíveis:
start
,
stop
,
database
(migrações), e
services
(serviços de loop do servidor). - Você pode iniciar o servidor com/sem UI, habilitar/desabilitar scheduler e late-run detector, e ajustar host/port via flags ou variáveis de ambiente. - Ajuda dos comandos:
Copy code
prefect server --help
    prefect server start --help
    prefect server database --help
    prefect server services --help
Docs: Server CLI - Controle dos “loop services” - Agora é fácil listar e controlar serviços internos como scheduler e detecção de runs atrasados:
Copy code
prefect server services list
    prefect server services start
    prefect server services stop
- Gestão de banco de dados integrada - Migrações, downgrade e reset do schema direto pela CLI:
Copy code
prefect server database upgrade -y
    prefect server database downgrade -y -r <revision>
    prefect server database reset -y
- Recomenda-se rodar
upgrade
ao atualizar o Prefect em ambientes com Server. - UI integrada e flags de inicialização - Inicie o Server com UI (por padrão habilitada) e ajuste host/porta:
Copy code
prefect server start --ui --host 0.0.0.0 --port 4200
- Em ambientes self-hosted, aponte seus clientes/CLI para a API do Server:
Copy code
prefect config set PREFECT_API_URL="<http://127.0.0.1:4200/api>"
- Configurações podem ser feitas por flags,
prefect config
ou variáveis de ambiente (ver referência de settings). Referência de settings: Settings - Compatibilidade cliente/servidor - Em geral, clientes antigos funcionam com servidores novos; já clientes novos podem não funcionar com servidores antigos se houver campos novos na API (nesses casos, o servidor pode responder 422). - Recomenda-se manter versões alinhadas entre o Server e os clientes/flows. Conceitos do Server: Prefect Server (conceitos) Correções recentes relevantes (3.4.22) - Correção de erros de inicialização ao usar
pydantic
2.10 no Python 3.9/3.10 — PR #19095 - Outras correções e docs menores; changelog completo 3.4.21 → 3.4.22: ver diffs Como atualizar com segurança 1) Atualize o pacote:
Copy code
pip install -U prefect
2) Aplique migrações do banco do Server:
Copy code
prefect server database upgrade -y
3) Reinicie o Server e aponte seus clientes para a nova API (se necessário):
Copy code
prefect server start --ui
prefect config set PREFECT_API_URL="http://<host>:<port>/api"
Quer que eu detalhe algo específico do Server (UI, banco, serviços, deploy em Docker/K8s, etc.)?
Claro! Aqui vão melhorias práticas para endurecer e operar melhor o seu Prefect Server (OSS) em produção, em português e com passos acionáveis. 1) Segurança e acesso - Coloque o Server atrás de um reverse proxy (Nginx, Caddy, Traefik) com TLS (HTTPS). - Adicione autenticação no proxy (Basic Auth ou OAuth2 Proxy), pois o Prefect Server OSS não tem auth nativo. - Restrinja a exposição da API/UI apenas à sua rede/VPN se possível. - Links: - Configurações de segurança - Exemplo de reverse proxy + Docker Compose: Exemplo com reverse proxy - Comando para iniciar o server com opções importantes:
Copy code
prefect server start --host 0.0.0.0 --port 4200 --ui --log-level INFO --scheduler --late-runs
Mais opções no help: CLI do server 2) Banco de dados (trocar SQLite por Postgres) - Em produção, prefira Postgres para durabilidade e concorrência. - Configure a string de conexão via variáveis de ambiente (veja a referência de settings) e faça tuning do pool de conexões no Postgres conforme carga. - Faça backups regulares (pg_dump/pg_basebackup) e monitore espaço/health do Postgres. - Migrações:
Copy code
prefect server database upgrade
- Referência de settings: Referência de settings 3) Confiabilidade dos serviços internos - Garanta que os services do server (scheduler, late runs) estejam ligados:
Copy code
prefect server services list
prefect server services start
- Rode o Server e o DB como serviços gerenciados (systemd, Docker/Compose, Kubernetes) com restart policies e healthchecks. 4) Escala e controle de capacidade - Use Work Pools + Workers para escalar execução dos flows. Inicie mais workers conforme a demanda:
Copy code
prefect worker start -p "meu-pool"
- Limite concorrência no nível do Work Pool:
Copy code
prefect work-pool set-concurrency-limit "meu-pool" 10
- Considere limites globais de concorrência por recurso (ex.: “só 2 cargas de dados no DW por vez”): - Guia: Limites de concorrência globais 5) Observabilidade (logs, alertas e automações) - Centralize logs (stdout → Loki/ELK/CloudWatch) e ajuste o nível de log no Server/Workers. - Crie automations para alertar falhas, atrasos ou estados específicos (via Slack/Webhook/Email):
Copy code
prefect automation ls
prefect automation enable <id>
prefect automation pause <id>
- Padronize tags/nomes nas runs para facilitar filtros e dashboards. 6) Operação e manutenção - Backups: se usar Docker, persista volumes do Postgres; se usar VMs, snapshots + backups lógicos. - Atualizações: planeje janelas para atualizar o Server e rodar
database upgrade
. - Telemetria/analytics: se preferir desativar, use o flag apropriado ao iniciar o server:
Copy code
prefect server start --analytics-off
- Configure limites/retries/timeouts nos flows e tarefas para resiliência. 7) Rede e performance - Ative compressão no proxy (gzip/br), keep-alive e caching adequado para a UI. - Use variáveis/flags do Server para ajustar host/port/timeout de keep-alive conforme sua infra:
Copy code
prefect server start --host 0.0.0.0 --port 4200 --keep-alive-timeout 60
Se quiser, posso: - Revisar seu docker-compose/Nginx atual - Sugerir variáveis de ambiente corretas para Postgres e logging no seu ambiente - Configurar automations de alerta para Slack Você está rodando o Prefect Server via Docker/Compose, Kubernetes ou instalação direta? E já usa Postgres ou ainda está com SQLite? Assim eu personalizo os passos e exemplos.
g
@Marvin speak about the new atuallization
m
thought for 129.7 seconds
Do you mean the latest Prefect update? Here’s a quick rundown of what’s new in the most recent release (Oct 9, 2025): Enhancements - Custom SSL contexts in the Prefect client, so you can use your own CA bundles or verification settings. PR #19106 Example:
Copy code
import ssl
  from prefect.client.orchestration import PrefectClient

  ctx = ssl.create_default_context(cafile="/path/to/ca.pem")
  client = PrefectClient(
      api="<http://127.0.0.1:4200/api>",
      httpx_settings={"verify": ctx},
  )
- A new CLI entry for direct API access:
prefect api
. PR #19131 - Note: when I checked,
prefect api
did not appear in
prefect --help
in my environment yet. If you don’t see it, please confirm your version with
prefect version
and upgrade to the latest release. It may require the newest patch. Bug fixes - Cron schedules now support the
day_or
parameter (e.g., matching day-of-month OR day-of-week). PR #19121
Copy code
from prefect.schedules import Cron

  # day_or=True means cron fires if EITHER day-of-month or day-of-week matches
  schedule = Cron("0 8 * * MON-FRI", day_or=True)
- More reliable async cancellation handling with
timeout_async
. PR #19101 - Fix for recursive local module discovery in bundle serialization. PR #19124 Docs - Integrations release notes links added. PR #19108 - ATProto social analytics dashboard example using Prefect Assets. PR #18984 - Prefect MCP server docs. PR #19115 Full changelog: 3.4.22 → 3.4.23 Would you like details or examples for any specific change (e.g., the new SSL contexts, cron scheduling behavior, or the
prefect api
CLI)? Also, what Prefect version are you currently on (
prefect version
)?