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
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Integrare LLM alle nostre applicazioni in .NET con MCP
Mischiare codice server side e client side in una query LINQ con Entity Framework
DevSecOps per .NET: dalla teoria alla pratica
Definire il colore di una scrollbar HTML tramite CSS
Personalizzare i parametri del CSS Scroll Snap
Le cron expression di un workflow di GitHub
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Personalizzare le pagine di errore su Azure App Service
Referenziare un package NuGet in una file based app .NET


