WebJobs è una funzionalità di Azure App Service che consente di eseguire script o programmi all'interno della stessa istanza dell'app web. Non comporta costi aggiuntivi ed è supportata da tutti i piani di servizio. La novità è che da maggio 2025 è disponibile anche per ambienti Linux, in General Availability (GA), ampliando così le possibilità di utilizzo anche su questa piattaforma.
Questa tecnologia è utile per attività in background, come l'elaborazione di file, l'invio di notifiche o operazioni pianificate. Un vantaggio chiave dei WebJobs è l'integrazione diretta con l'app web, facilitando la gestione e il monitoraggio. Tuttavia, rispetto ad Azure Functions, offre meno scalabilità automatica. Abbiamo due tipi principali di WebJobs: continui e a trigger, i quali possono essere attivati manualmente o tramite una pianificazione.
La procedura per distribuire un WebJob su ambienti Linux è analoga a quella descritta per Windows: si accede al portale Azure, si seleziona la risorsa App Service, si va in WebJobs e si clicca su Add.

Tuttavia, in ambiente Linux, potrebbe essere necessario impostare la variabile di ambiente WEBSITE_SKIP_RUNNING_KUDUAGENT su false per assicurare il corretto avvio del WebJob.

In ambiente Linux è fondamentale creare un archivio .zip contenente gli script .sh o altri file eseguibili compatibili con il tipo di runtime configurato per l'app, come ad esempio Python, Node.js o Java. In questi casi, il file principale deve avere estensione coerente (.py, .js, .jar, ecc.) e risultare eseguibile dal runtime stesso, l'app. Questo approccio richiede attenzione alla compatibilità e alla struttura del pacchetto caricato.
Per WebJobs pianificati, usiamo un'espressione CRON o NCRONTAB per definire la frequenza. Ricordiamo di attivare l'opzione Always On per evitare interruzioni involontarie del processo.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Ricerca delle GitHub issue tramite operatori logici
Proteggere l'endpoint dell'agente A2A delle Logic App
Semplificare i deployment con le label in Azure Container App
Supportare la crittografia di ASP.NET Core con Azure Container App
Gestire il routing HTTP in Azure Container App
Integrare OpenTelemetry direttamente in Azure Monitor
Configuratione e utilizzo .NET Aspire CLI
Rendere affidabile lo scale out su Azure App Service
Ottimizzare i costi con Smart tier in Azure Blob Storage
Arricchire l'interfaccia di .NET Aspire
Abilitare .NET 10 su Azure App Service e Azure Functions




