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
Change tracking e composition in Entity Framework
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Utilizzare Tailwind CSS all'interno di React: installazione
Le novità di Angular: i miglioramenti alla CLI
Triggerare una pipeline su un altro repository di Azure DevOps
Effettuare il binding di date in Blazor
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Applicare un filtro per recuperare alcune issue di GitHub
Cancellare una run di un workflow di GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8