Azure Storage Queue novost: potrdilo ob dodanem sporočilu

by Rok Bermež 5. January 2017 08:35

Azure Storage je dobil v zadnjem času kar nekaj dolgo pričakovanih novosti. Poleg konkretnega povečanja velikosti blobov je ena izmed njih potrdilo ob dodanem sporočilu v vrsto, ki nam omogoča spremembe sporočila (dokler se vidnost sporočila ne izteče samo tistemu klientu, ki je sporočilo dodal) brez tega, da bi ga morali prvo iz vrste vzeti in ga nato spremenjenega dodati nazaj.

Ta funkcionalnost je odlično orodje za enostavnejšo identifikacijo sporočil v vrsti za dodatno procesiranje.

Spodaj je kratek primer uporabe te funkcionalnosti z pomočjo paketa 'Client Library 8.0 for .NET'.

// naredimo sporočilo

CloudQueueMessage message = new CloudQueueMessage("");

// ga dodamo v vrsto a vseeno skrijemo pred ostalimi za 3 minute

queue.AddMessage(message, null, TimeSpan.FromSeconds(180));

//message.PopReceipt je napolnjen in samo is ta klient lahko nad njim izvaja spremembe dokler se vidnost ne izteče

.

// spremenimo vsebino sporočila

message.SetMessageContent("");

queue.UpdateMessage(message, TimeSpan.FromSeconds(180), MessageUpdateFields.Content | MessageUpdateFields.Visibility);

// po uspešni obdelavi ga umaknemo iz vrste preden ga vidijo drugi klienti

await queue.DeleteMessageAsync(message.Id, message.PopReceipt);

Spološni oblačni problem je koordinacija sprememb nad ne transakcijskimi viri. Aplikacija, ki obdeluje videe ali fotografije lahko:

1. obdela video/sliko

2. jo naloži v blob

3. shrani metapodatke v table entity.

Tem korakom lahko sledi s pomočjo sporočila v vrsti z naslednjim potekom:

1. poda stanje kot sporočilo v vrsto

2. obdela video/sliko

3. spremeni stanje

4. shrani metapodatke

5. pobriše sporočilo iz vrste

Vsa sporočila ki tako ostanejo v vrsti tako predstavljajo tiste naloge, ki so bile iz kakršnega koli razloga neuspešno obdelane in jih lahko prevzame 'cleanup' delavec ter poizkusi še enkrat ali pa obvesti skrbnika procesa.

Kot vidimo je s pomočjo te nove funkcionalnosti implementacija takšnega procesa precej lažja.

Tags:

ASP.NET | .Net | Adobe

Add comment

Calendar

<<  October 2017  >>
MonTueWedThuFriSatSun
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

View posts in large calendar

Page List

Month List