Service Broker i application notification

0

Witam szanowne grono forumowiczów,

Mam do rozwiązania pewien problem i na pewno ktoś już się z czymś takim mierzył. Otóż mam wdrożony system kolejkowania oparty o Service Brokera, po wysłaniu maila jest on ustawiany w kolejce do wysłania. Dodatkowo mam aplikację konsolową która działa w pętli while(true) odpytując bazę czy pojawiło się coś nowego w kolejce do wysłania i jeśli tak to wysyła. Takie requestowanie bazy wydaję mi się mało efektywne i chciałbym to poprawić. Znalazłem coś takiego:
https://docs.microsoft.com/pl-pl/dotnet/framework/data/adonet/sql/enabling-query-notifications
https://docs.microsoft.com/en-gb/previous-versions/sql/sql-server-2008-r2/ms187528(v=sql.105)#planning-an-efficient-query-notifications-strategy

I zastanawiam się czy to są dobre rozwiązania przy założeniu, że nowy mail może wpadać do kolejki co sekundę czy może to rozwiązanie z aplikacją działającą w tle wcale nie jest takie złe.

Pozdrawiam

0

Możesz odpytywac bazę rzadziej i wysyłać maile pączkami np z ostatnich 10 minut. Jak będziesz miał dobre indeksy na takiej tabeli to taki zapytanie nie będą ciężkie i nie będą bardzo obciążać bazy.

0

Niestety takie rozwiązanie nie wchodzi w grę. Jeśli mail został wysłany to ma być wysyłany od razu, a nie po 10 minutach. Szukam takiego rozwiązania i zastanawiam się czy SqlDependecy albo któreś z powyższych rozwiązań to jest to czego potrzebuje, czy ktos implementowal podobny system lub czy aktualne rozwiązanie jest ok.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.