CronPulse CLI
#python#automation#microsaas
Smetti di pagare 20–80 $/mese per i servizi SaaS di monitoraggio dei cron. CronPulse CLI è un watchdog in Go self-hosted e senza dipendenze che rileva fallimenti silenziosi, overrun e crash dei cron. Offre alert istantanei su Slack/Discord/Telegram, binari multi-architettura, configurazioni Docker e una dashboard integrata.
Leggi l'approfondimento tecnicoBasta SaaS per il Monitoraggio dei Cron: Watchdog Zero-Dipendenze con CronPulse CLImain.pymain.py — estratto d'esempio nello stile del tool
#!/usr/bin/env python3
"""
CronPulse CLI - Zero-Dependency Cron Monitoring & Alerting Engine
A production-grade Python watchdog detecting silent cron failures, execution
overruns, and process crashes with instant multi-channel alerts.
Features:
- Real-time command execution wrapper and exit code tracking
- Native Slack, Discord, and Telegram webhook notification dispatching
- Hard timeout enforcement and stale job overrun detection
- Zero-dependency state engine using standard library JSON persistence
- Lightweight metrics formatting for dashboard integration
Usage:
$ cronpulse run --name "daily-backup" --timeout 600 -- python backup.py
$ cronpulse report --format json --last 24h
"""
from __future__ import annotations
import enum
import json
import os
import sys
import time
from dataclasses import asdict, dataclass, field
from pathlib import Path
from typing import Any, Dict, List, Optional
class JobState(str, enum.Enum):
"""Execution status for monitored process runs."""
PENDING = "pending"
RUNNING = "running"
SUCCESS = "success"
FAILED = "failed"
TIMEOUT = "timeout"
OVERRUN = "overrun"
@dataclass(frozen=True)
class ExecutionMetrics:
"""Domain model representing execution metrics for a single job run."""
job_name: str
state: JobState
start_time: float
end_time: Optional[float] = None
exit_code: Optional[int] = None
error_details: Optional[str] = None
class CronPulseEngine:
"""Core supervisor responsible for execution monitoring and alerting."""
# ... the full file ships with your download