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
C# 12: Cosa c'è di nuovo e interessante
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Usare un KeyedService di default in ASP.NET Core 8
Eseguire le GitHub Actions offline
Inizializzare i container in Azure Container Apps
Evitare la script injection nelle GitHub Actions
Eseguire attività con Azure Container Jobs
Eseguire query verso tipi non mappati in Entity Framework Core
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare Model as a Service su Microsoft Azure
Eseguire una GroupBy per entity in Entity Framework
I più letti di oggi
- I nuovi metodi degli array di ECMAScript 5
- Evitare (o ridurre) il repo-jacking sulle GitHub Actions
- Un custom control BoundField con dropdownlist
- .NET Core 3, C#8 and beyond
- Utilizzare long polling in HTML5 per richieste in real time
- Utilizzare le shortcut da tastiera con KeyboardAccelerator nella Universal Windows Platform
- Microsoft Security Bulletin MS05-048