Logo
GitHubCron è la libreria open-source di Snowinch che usa GitHub Actions come scheduler gratuito per chiamare endpoint della tua app. Niente server dedicati, niente infrastruttura: solo 2000 minuti gratis al mese per automatizzare qualsiasi processo.

GitHubCron: Cron Job Serverless Gratuiti con GitHub Actions nel 2025

By Snowinch Team16 novembre 2025
githubcroncron job serverlessgithub actions croncron gratuitoschedulazione serverlessautomazione githubnextjs cron jobsexpress cron jobsserverless schedulergithub actions automation

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:

  1. Mantenere un server sempre acceso (€50-200/mese) solo per eseguire script periodici
  2. Usare AWS Lambda + EventBridge con complessità elevata e curva di apprendimento ripida
  3. Pagare per Vercel Cron (solo nei piani Pro/Enterprise a €20+/mese)
  4. 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:

  1. GitHub Actions fa da scheduler (esegue il workflow all'orario stabilito)
  2. Fa una richiesta HTTP POST al tuo endpoint
  3. La tua app esegue la logica (usando il tuo codice esistente)
  4. 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 automaticamente

GitHub 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)

AspettoGitHubCronVPS
Costo mensile€0€50-200
Setup iniziale10 minuti2-4 ore
ManutenzioneZeroContinua
ScalabilitàAutomaticaManuale
Affidabilità99.9% (GitHub)Variabile
Security patchesAutomaticheManuali
Limiti esecuzione2000 min/mese (gratis)Illimitati

Verdict: GitHubCron vince per progetti piccoli/medi. VPS necessario solo per carichi estremi.

GitHubCron vs AWS Lambda + EventBridge

AspettoGitHubCronAWS Lambda
Complessità setupBassaAlta
Costi€0~€0.20-2/mese
Curva di apprendimentoRapidaRipida
Vendor lock-inGitHubAWS
DebuggingSemplice (log chiari)Complesso (CloudWatch)
Cold startsNo (chiama tua app)Sì (Lambda cold start)
Accesso al databaseDiretto (tua app)Richiede configurazione

Verdict: GitHubCron è molto più semplice. Lambda offre più flessibilità per architetture complesse.

GitHubCron vs Vercel Cron

AspettoGitHubCronVercel Cron
Costo€0€20+/mese/utente
PiattaformeQualsiasi (Vercel, Netlify...)Solo Vercel
Piano richiestoNessunoPro/Enterprise
ConfigurazioneFile TypeScriptvercel.json
Limiti2000 min/meseIn base al piano
Vendor lock-inBasso (GitHub)Alto (Vercel only)

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

PiattaformaMax TimeoutNote
Vercel (Hobby)10 secondiUpgrade a Pro per timeout lunghi
Vercel (Pro)60 secondi-
Netlify (Free)10 secondiUpgrade per 26 secondi
Cloudflare Workers30 secondiLimite CPU time
Express (self-hosted)IllimitatoDipende dalla configurazione

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.

Contattaci

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.