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
Integrare SQL Server in un progetto .NET Aspire
Montare Azure Blob Storage su Linux con BlobFuse2
Change tracking e composition in Entity Framework
Testare il failover sulle region in Azure Storage
Gestione ciclo di vita in .NET Aspire
Gestire i dati con Azure Cosmos DB Data Explorer
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Potenziare la ricerca su Cosmos DB con Full Text Search
Escludere alcuni file da GitHub Secret Scanning
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Eseguire una ricerca avanzata per recuperare le issue di GitHub
I più letti di oggi
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Sfruttare i nuovi overload di TimeSpan.From* per creare timespan usando numeri interi