Lascia che ti racconti una storia che probabilmente conosci fin troppo bene. Hai un'applicazione web in produzione su Vercel, Netlify o Cloudflare. Funziona alla grande. Ma hai bisogno di:
- Inviare email di carrelli abbandonati ogni 2 ore
- Generare report giornalieri alle 6:00 del mattino
- Fare backup del database ogni notte
- Sincronizzare dati da API esterne ogni ora
Cosa fai? Tradizionalmente, le opzioni erano:
- Mantenere un server sempre acceso (€50-200/mese) solo per eseguire script periodici
- Usare AWS Lambda + EventBridge con complessità elevata e curva di apprendimento ripida
- Pagare per Vercel Cron (solo nei piani Pro/Enterprise a €20+/mese)
- Affidarti a servizi esterni (cron-job.org) che chiamano endpoint pubblici non sicuri
Esiste un'alternativa migliore. E si chiama GitHubCron.
GitHubCron è una libreria open-source sviluppata da Snowinch che usa GitHub Actions come scheduler gratuito per chiamare endpoint HTTP della tua applicazione. Niente server dedicati, niente infrastruttura complessa, 2000 minuti gratis al mese.
Il Problema con i Cron Job Tradizionali
Costi Nascosti dei Server Dedicati
Hai un'app Next.js in produzione su Vercel (piano Hobby gratuito). Funziona perfettamente. Ma adesso hai bisogno di eseguire 4 script periodici.
Opzione classica: VPS da €50/mese.
Utilizzo effettivo: Il server lavora per circa 20 minuti al giorno ed è inattivo per il restante 98.6% del tempo.
Stai pagando €50/mese per 20 minuti di lavoro effettivo. Costo per minuto: €2,50. Assurdo, vero?
La Complessità di AWS Lambda
AWS Lambda + EventBridge è tecnicamente "economico", ma richiede:
- Configurare IAM roles e policies (30-60 minuti)
- Creare EventBridge rules con sintassi cron leggermente diversa
- Gestire deployment (ZIP upload? Container? Serverless framework?)
- Monitorare CloudWatch Logs (e pagare per l'archiviazione)
- Duplicare la logica business se hai già un'app deployata altrove
È complessità che non dovresti dover gestire.
Vercel Cron: Solo per Chi Paga
Vercel offre Vercel Cron integrato, ma:
- ❌ Solo Pro/Enterprise: Non disponibile nel piano Hobby gratuito
- ❌ Costo: A partire da $20/mese per utente
- ❌ Vendor lock-in: Funziona solo su Vercel
Servizi Esterni: Sicurezza Discutibile
Servizi come cron-job.org sembrano semplici, ma:
- ❌ Endpoint pubblici: Devi esporre URL non protetti
- ❌ Affidabilità: Dipendi da servizi esterni
- ❌ Limitazioni: Piani gratuiti limitano a 5-10 esecuzioni al giorno
- ❌ Privacy: Un terzo conosce i tuoi endpoint
GitHubCron risolve tutti questi problemi.
Cos'è GitHubCron e Come Funziona
Il Pattern "Webhook Schedulato"
GitHubCron implementa un pattern brillante:
- GitHub Actions fa da scheduler (esegue il workflow all'orario stabilito)
- Fa una richiesta HTTP POST al tuo endpoint
- La tua app esegue la logica (usando il tuo codice esistente)
- Risponde con il risultato (successo/errore)
Vantaggi di questo approccio:
- ✅ Niente duplicazione di codice: La logica sta nella tua app
- ✅ Accesso a tutto: Database, cache, variabili d'ambiente, servizi esterni
- ✅ Framework-agnostic: Next.js, Express, Cloudflare Workers, Deno, Bun
- ✅ Sicuro: Secret token per autenticare le richieste
- ✅ Semplice: Un endpoint HTTP è tutto ciò che serve
- ✅ No vendor lock-in: Funziona con qualsiasi piattaforma di hosting
Architettura Tecnica
// 1. Definisci i job nella tua app
import { ServerlessCron } from "@snowinch/githubcron";
export const cron = new ServerlessCron({
secret: process.env.GITHUBCRON_SECRET,
baseUrl: process.env.NEXT_PUBLIC_APP_URL,
});
cron.job("send-daily-emails", {
schedule: "0 9 * * *",
handler: async (ctx) => {
const result = await sendDailyEmails();
return { sent: result.length };
},
});
// 2. Crea l'endpoint (Next.js esempio)
// app/api/cron/[job]/route.ts
export const POST = cron.nextjs.appRouter();
// 3. Genera il workflow
// npx githubcron generate
// Crea .github/workflows/cron-jobs.yml automaticamenteGitHub Actions chiama il tuo endpoint all'orario stabilito. La tua app non sa (e non le importa) che il chiamante è GitHub Actions.
Confronto con Alternative
GitHubCron vs Server Dedicato (VPS)
Verdict: GitHubCron vince per progetti piccoli/medi. VPS necessario solo per carichi estremi.
GitHubCron vs AWS Lambda + EventBridge
Verdict: GitHubCron è molto più semplice. Lambda offre più flessibilità per architetture complesse.
GitHubCron vs Vercel Cron
Verdict: Se sei già su Vercel Pro/Enterprise, Vercel Cron è più integrato. Ma GitHubCron è gratuito e funziona ovunque.
Use Cases Reali
E-Commerce: Carrelli Abbandonati
Problema: Recuperare clienti che hanno abbandonato il carrello.
Soluzione: Job che gira ogni 30 minuti, trova carrelli abbandonati da più di 1 ora, invia email con sconto del 10%.
Risultato: Tasso di recupero +15-25% senza costi aggiuntivi.
SaaS: Report Giornalieri
Problema: Generare e inviare report analitici ai clienti ogni mattina.
Soluzione: Job alle 6:00 AM che raccoglie metriche, genera PDF, invia via email.
Risultato: Report automatici professionali senza infrastructure dedicata.
Content Platform: Pubblicazione Programmata
Problema: Permettere agli autori di programmare la pubblicazione.
Soluzione: Job ogni 15 minuti che trova contenuti schedulati e li pubblica.
Risultato: Sistema di pubblicazione programmata enterprise-grade a costo zero.
Monitoring: Health Checks
Problema: Monitorare uptime e performance di API critiche.
Soluzione: Job ogni 5 minuti che testa endpoint critici e invia alert.
Risultato: Sistema di monitoring completo senza Datadog/NewRelic (€100+/mese).
Quick Start
Installazione e Setup (5 minuti)
# 1. Installa
npm install @snowinch/githubcron
# 2. Inizializza (crea struttura automaticamente)
npx githubcron init --framework nextjs-app
# 3. Configura i job in lib/cron.ts
# 4. Genera il workflow
npx githubcron generate
# 5. Configura GitHub Secrets e Variables
# 6. Deploy!Documentazione completa:
La documentazione ufficiale include:
- Guide step-by-step per tutti i framework (Next.js, Express, Cloudflare Workers, Deno, Bun)
- Esempi completi di codice
- Configurazione avanzata (lifecycle callbacks, retry logic, monitoring)
- Troubleshooting e best practices
- API reference completa
Limitazioni e Quando NON Usare GitHubCron
1. Precisione del Timing
GitHub Actions ha una latenza variabile di 1-15 minuti.
- ❌ Non usare per: Trading bot, aste online, pagamenti time-sensitive
- ✅ Va bene per: Report, backup, sync API, email marketing, cleanup
2. Limiti Mensili
- Account gratuiti: 2,000 minuti/mese
- Account Team: 50,000 minuti/mese
Se un job richiede 5 minuti e gira ogni ora: 5 × 24 × 30 = 3,600 min/mese → Supera il limite gratuito.
Soluzione: Ottimizza il job, riduci la frequenza, o passa ad account Team.
3. Timeout della Piattaforma
Per job lunghi: Usa job queue, dividi in task, o self-host con Express.
Conclusione
GitHubCron rappresenta un cambio di paradigma nella gestione dei cron job.
Prima di GitHubCron:
- Server dedicato: €100/mese
- Setup: 4 ore
- Manutenzione: 2 ore/mese
- Costo annuale: €1,200 + 28 ore
Con GitHubCron:
- Costo: €0
- Setup: 20 minuti
- Manutenzione: 30 minuti/mese
- Costo annuale: €0 + 6 ore
Risparmio: €1,200/anno + 22 ore/anno
Ma il vero valore non è solo economico. È semplicità. È non doversi preoccupare di un altro pezzo di infrastruttura da manutenere. È poter automatizzare processi senza pensarci due volte.
GitHubCron è:
- ✅ Gratuito - 2000 minuti/mese senza costi
- ✅ Semplice - Setup in 10 minuti, no DevOps
- ✅ Sicuro - Secret token validation automatica
- ✅ Framework-agnostic - Next.js, Express, Cloudflare Workers, Deno, Bun
- ✅ Open-source - Codice pubblico, community-driven
- ✅ Production-ready - Usato da centinaia di progetti
Se hai processi ripetitivi da automatizzare, task periodici da eseguire, o stai pagando troppo per infrastruttura di scheduling, GitHubCron è la soluzione più semplice e conveniente nel 2025.
Hai bisogno di aiuto con l'automazione del tuo progetto?
In Snowinch abbiamo sviluppato GitHubCron per risolvere il nostro stesso problema. Oggi lo usiamo in produzione per decine di clienti, automatizzando processi che prima richiedevano ore di lavoro manuale.
Se vuoi implementare GitHubCron, ottimizzare i tuoi workflow, o costruire soluzioni di automazione custom per il tuo business, parliamone.
Costruiamo Insieme Qualcosa di Straordinario
In Snowinch, creiamo integrazioni software personalizzate, soluzioni basate su IA e siti web ad alte prestazioni per alimentare la crescita della tua azienda. Costruiamo insieme il futuro.