2017-09-11 1 views
0

Wie würden Sie eine Web-Service-Anfrage alle zehn Sekunden zehn Mal wiederholen, bis sie beantwortet?Akkus.NET Streams

Ich habe versucht, RecoverWithRetries und InitialDelay, aber die erste Erholung Replays sofort den Web-Service-Aufruf:

FromThirdOfContract().RecoverWithRetries(e => 
{ 
    return Source.FromTask(_third.GetThird(message.ContractIdLegacy)).InitialDelay(TimeSpan.FromSeconds(secondsbetween)); 
}, retry); 

Die erste Wiederholung später sofort statt 10 Sekunden geschieht. In Akka gibt es eine RestartSource Klasse; wir haben es nicht in Akka.NET. Irgendwelche Ideen?

Antwort

0

Ich spielte endlich mit Source.Lazily() mit meiner Quelle. Es funktioniert, es wird nicht vor dem ersten Verzögerungsaufruf ausgewertet. Aber ich höre für andere Ideen