Un'esigenza che spesso si presenta nelle soluzioni web e non, è quella di dover eseguire delle operazioni ad intervalli regolari o ad una specifica ora. Per fare questo viene subito in mente di ricorrere ad un worker role che ci permette di lavorare liberamente e utilizzare timer per eseguire codice all'ora che vogliamo. Questa tecnica però spreca le risorse offerte da Windows Azure, perché occupiamo una macchina che nella maggior parte del tempo non fa niente.
Per questo motivo è stato aggiunto di recente un nuovo servizio, di nome scheduler, che ci permette di creare job da eseguire secondo certe politiche di timing, per eseguire una specifica azione. Per creare un job è sufficiente entrare nella sezione scheduler e creare un nuovo job collection. Come al solito ci viene chiesta la sottoscrizione e il nome della collection,
Con esso racchiudiamo una serie di job e decidiamo che tipologia di spesa vogliamo affrontare. A questo punto possiamo creare un relativo job. Possiamo scegliere se effettuare una richiesta HTTP o HTTPS ad uno specifico endpoint e con un certo method, così da attivare un'API oppure semplicemente per mantenere pronto un sito internet.
In alternativa possiamo inserire un messaggio in una queue dello storage di Windows Azure, permettendoci di notificare un'eventuale engine che monitora la coda. In questo modo possiamo eseguire qualsiasi codice noi vogliamo.
Per ogni job dobbiamo infine decidere quando eseguire l'azione, se eseguirla in modo ricorrente e in quali intervalli.
A questo punto il job è pronto e possiamo dal portale monitorare lo stato e il relativo storico. Attraverso la sezione scale della collection possiamo, infine, scegliere se usare il servizio in modo free o standard. In base a questa scelta cambiano le frequenze di esecuzione di un job e il numero di job che possiamo eseguire.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Gestione dei nomi con le regole @layer in CSS
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Sostituire la GitHub Action di login su private registry
C# 12: Cosa c'è di nuovo e interessante
Ottimizzazione dei block template in Angular 17
Definire stili a livello di libreria in Angular
Usare le collection expression per inizializzare una lista di oggetti in C#
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Visualizzare le change sul plan di Terraform tramite le GitHub Actions