fix: pas de favoritisme pour la machine locale

- Retire _collect_local_logs() du démarrage du slot d'analyse
- La machine locale passe par le même pipeline MQTT que les distantes
- Nouveau job APScheduler indépendant: local_collect_time (config DB)
- Commande: logwatch schedule local HH:MM / off

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 09:10:38 +00:00
parent c039b92d6d
commit de1a071c29
5 changed files with 39 additions and 5 deletions
Binary file not shown.
+21 -1
View File
@@ -116,6 +116,26 @@ def run(args: str, context) -> str:
f"État : {'activé ✅' if enabled else 'désactivé ❌'}"
)
if sub == 'local':
# schedule local HH:MM — configurer l'heure de collecte locale
# schedule local off — désactiver
if not sub_rest:
val = _cfg(context, 'local_collect_time', '')
return f"Collecte locale : {val or 'désactivée'}"
if sub_rest.lower() == 'off':
_set_cfg(context, 'local_collect_time', '')
context.agent._reload_schedule()
return "✅ Collecte locale désactivée."
try:
lh, lm = map(int, sub_rest.split(':'))
if not (0 <= lh < 24 and 0 <= lm < 60):
return "Heure invalide."
except ValueError:
return "Format: schedule local HH:MM (ex: 01:00) ou off"
_set_cfg(context, 'local_collect_time', sub_rest.strip())
context.agent._reload_schedule()
return f"✅ Collecte locale programmée à {sub_rest.strip()}."
if sub == 'set':
# Format : HH:MM-HH:MM
if '-' not in sub_rest:
@@ -140,7 +160,7 @@ def run(args: str, context) -> str:
context.agent._reload_schedule()
return f"✅ Analyse automatique {'activée' if val=='1' else 'désactivée'}."
return "Sub-commande inconnue. Utilise : show, set <HH:MM-HH:MM>, enable, disable"
return "Sub-commande inconnue. Utilise : show, set <HH:MM-HH:MM>, enable, disable, local <HH:MM|off>"
# ── overage ───────────────────────────────────────────────────────────────
if action == 'overage':