Problema: - Cron jobs do Convex criam registros em _scheduled_job_logs - Convex self-hosted carrega TODAS as versoes em memoria - 1488 execucoes/dia = ~45k registros/mes acumulando - Uso de memoria chegando a 19GB, causando 12 OOM kills/dia Solucao: - Criar endpoints HTTP em /api/cron/* para substituir crons - Desabilitar crons no Convex (comentados em crons.ts) - Chamar endpoints via crontab do Linux Novos arquivos: - src/app/api/cron/chat-cleanup/route.ts - src/app/api/cron/usb-cleanup/route.ts - scripts-static/* (copiado da VPS para versionamento) Documentacao: - docs/OPERATIONS.md secao 12 com instrucoes do crontab 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
829 B
YAML
32 lines
829 B
YAML
version: "3.8"
|
|
|
|
services:
|
|
scripts_static:
|
|
image: nginx:1.27-alpine
|
|
networks:
|
|
- traefik_public
|
|
volumes:
|
|
- /root/scripts-static:/usr/share/nginx/html:ro
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.scripts.rule=Host(`scripts.rever.com.br`)
|
|
- traefik.http.routers.scripts.entrypoints=websecure
|
|
- traefik.http.routers.scripts.tls.certresolver=le
|
|
- traefik.http.services.scripts.loadbalancer.server.port=80
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
|
|
networks:
|
|
traefik_public:
|
|
external: true
|