...
MessageQueue tabel skitse:
Person/Identity | Message | System | Authority | RetryCount | TimeSinceLastRetry | HttpStatusCode |
---|---|---|---|---|---|---|
Beskeden kan i fremtiden have anden identificatio nend CPR, så burde måske udvikles til at kunne håndtere andet end bare CPR nr | Id reference på beskeden der er sat på kø | Id reference på systemet | Id reference på myndighed | Antal af gange der er forsøgt genafsendelse, nullable | Tidsstempel for hvornår vi sidst forsøgte at sende beskeden | Status kode for fejlen, så vi kan beslutte for om der skal genforsøges afsendelse |
Returkoder og fejlhåndtering (link: Noter til webservicebeskeder)
...
den fejlende webservicebesked tilføjes til en genfremsendelseskø, hvor at den forsøges genfremsendt uendeligt med en passende tidsforskydning, som bliver større gang for gang webservicebeskeden forsøges genfremsendt.
Tidsforskydningen stiger eksponentielt per besked for hver gang beskeden forsøges at sendes igen, op til et maksimum af 3 timer mellem hver forsøg. Tiden mellem hver forsøg er baseret ud fra mængden af genforsøg, eksempelvis første gang så er næste forsøg om 1 sekund, så 3 sekunder, så 7, 15, 31... Dvs. at mængden af tid før næste forsøg fordobles, indtil at vi når til et punkt hvor at næste forsøg er over 3 timer (hvor at den så sættes til 3 timer hver gang). Formularen er følgende (Hvor første argument er 10800):
Code Block Math.Min(_options.Value.MaximumDurationBetweenMessageDistributionRetriesInSeconds, Math.Pow(2, message.RetryCount) - 1);
tidsforskydningen er det samme for TEST og PROD miljøer på nuværende tidspunkt.
der fremsendes ikke yderligere webservicebeskeder på samme borger fra det forretningsdomæne, som i DFDG var årsagen til, at den fejlende webservicebesked blev sendt. Disse webservicebeskeder ligges på kø til efterfølgende afsendelse.
der fremsendes ikke yderligere webservicebeskeder på samme dataentitet, som webservicebeskeden omhandler (eksempelvis samme stillingsbetegnelse), fra det forretningsdomæne, som i DFDG var årsagen til, at den fejlende webservicebesked blev sendt. Disse webservicebeskeder ligges på kø til efterfølgende afsendelse.
...
DFDG stiller krav om, at aftagere af webservicebeskeder stiller en teknisk kontakt (email/telefon), som kan kontaktes, når en og samme webservicebesked fejler vedvarende. Aftagere som benytter Fogbugz Topdesk bedes benytte FogbugzTopdesk.