refactor(convex): separar heartbeat em tabela dedicada para evitar OOM
- Criar tabela machineHeartbeats para armazenar lastHeartbeatAt separadamente - Modificar heartbeat para so atualizar machines quando ha mudancas reais - Atualizar queries listByTenant e getById para usar nova tabela - Reducao drastica de versoes de documentos criadas a cada heartbeat Antes: ~54 versoes por maquina (3524 linhas para 65 maquinas) Agora: heartbeat atualiza documento leve, machines so muda com dados novos 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
cf28ad2ee4
commit
4fbd521fa8
5 changed files with 111 additions and 51 deletions
|
|
@ -707,6 +707,14 @@ export default defineSchema({
|
|||
.index("by_tenant_created", ["tenantId", "createdAt"])
|
||||
.index("by_tenant_machine", ["tenantId", "machineId"]),
|
||||
|
||||
// Tabela separada para heartbeats - evita criar versoes do documento machines a cada heartbeat
|
||||
// O documento machines so e atualizado quando ha mudancas reais nos dados (metadata, inventory, etc)
|
||||
machineHeartbeats: defineTable({
|
||||
machineId: v.id("machines"),
|
||||
lastHeartbeatAt: v.number(),
|
||||
})
|
||||
.index("by_machine", ["machineId"]),
|
||||
|
||||
machineTokens: defineTable({
|
||||
tenantId: v.string(),
|
||||
machineId: v.id("machines"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue