70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
---
|
|
type: Entity
|
|
layer: wiki
|
|
tags: [stack, dashdescomplicar, infra, systemd, timers, observabilidade]
|
|
title: "Systemd-Timers"
|
|
---
|
|
|
|
# Systemd-Timers
|
|
|
|
Timers systemd (user) que executam scripts de observabilidade do DashDescomplicar no desktop local (`dev`). Gerem indexação de sessões, import de worklogs e detecção de padrões.
|
|
|
|
## Responsabilidades
|
|
|
|
- **Indexação contínua**: Watcher incremental de ficheiros JSONL (Claude Code)
|
|
- **Import worklogs**: Import diário de worklogs Desk CRM (discussions #31/#32/#33)
|
|
- **Detecção padrões**: Análise semanal de padrões de uso (tools, skills, erros)
|
|
- **Publicação**: Resultados publicados para consulta pela API
|
|
|
|
## Serviços e Timers
|
|
|
|
| Ficheiro | Tipo | Schedule | Função |
|
|
|---|---|---|---|
|
|
| `observabilidade-indexer.service` | simple (always-on) | — | Watcher incremental ficheiros JSONL |
|
|
| `observabilidade-worklog-import.service` | oneshot | — | Import worklogs Desk |
|
|
| `observabilidade-worklog-import.timer` | timer | Diário 03:00 | Dispara import worklogs |
|
|
| `observabilidade-patterns.service` | oneshot | — | Detecção de padrões |
|
|
| `observabilidade-patterns.timer` | timer | Dom 23:00 | Dispara detecção semanal |
|
|
| `observabilidade-patterns.env.example` | env | — | Template variáveis ambiente |
|
|
|
|
## Stack
|
|
|
|
- **Runtime**: Node.js 22.22.2 via `npx tsx`
|
|
- **Working Directory**: `/media/ealmeida/Dados/Dev/DashDescomplicar`
|
|
- **DB Path**: `~/.claude-work/sessions.db`
|
|
- **Logs**: `~/.claude-work/observabilidade-*.log`
|
|
|
|
## Comandos Executados
|
|
|
|
```
|
|
# Indexer (always-on)
|
|
npx tsx api/scripts/sessions-indexer.ts --watch
|
|
|
|
# Worklog Import (daily 03:00)
|
|
npx tsx api/scripts/sessions-worklog-import.ts --discussion all --since-days 7
|
|
|
|
# Patterns (weekly Sun 23:00)
|
|
npx tsx api/scripts/sessions-patterns.ts --publish
|
|
```
|
|
|
|
## Localizações
|
|
|
|
- **Systemd files**: `Dev/DashDescomplicar/systemd/` (5 ficheiros)
|
|
- **Scripts**: `Dev/DashDescomplicar/api/scripts/sessions-*.ts`
|
|
- **Logs**: `~/.claude-work/observabilidade-*.log`
|
|
- **DB**: `~/.claude-work/sessions.db`
|
|
- **Env file**: `~/.claude-work/observabilidade-patterns.env`
|
|
|
|
## Dependências
|
|
|
|
- **Node.js 22**: `/home/ealmeida/.nvm/versions/node/v22.22.2/bin/`
|
|
- **Observabilidade-Sessions**: Scripts e lógica de indexação
|
|
- **Gemini-Telemetry**: Dados de telemetria Gemini no mesmo DB
|
|
- **Sistema de Ficheiros**: `~/.claude/projects/`, `~/.hermes/`, `~/.local/share/opencode/`
|
|
|
|
## Fornece a
|
|
|
|
- **Observabilidade-Sessions**: Execução agendada dos scripts
|
|
- **Painel-Sessoes**: Dados actualizados para consulta
|
|
- **Express-API**: Sessões indexadas disponíveis via `/api/sessions`
|