Ich bin sehr neu in Azure Service Fabric.So starten Sie mehrere Instanzen eines dauerhaft ausgeführten Diensts auf Azure Service Fabric dynamisch
Mein Szenario ist, dass ich einen lang laufenden Dienst habe, den ich brauche, um mehrere Instanzen dynamisch zu starten/zu stoppen, und der Start sollte kein Block sein. Jede Instanz wird 1 Dateneintrag unabhängig verarbeiten. Zum Beispiel:
Angenommen, ich habe einen Wetterdienst, der die Wetterdaten für jede Stadt speichert und lange läuft. Und ich habe eine Liste von Städten, die sich ändern können. Also, ich möchte die folgende Sache tun:
var weatherSvcList = new List...
var currentCities = [];
while (true)
{
var newCities = FetchCities();
var addedCities = newCities.Except(currentCities);
weatherSvcList = LaunchSvc(addedCities); // launch and return, non-blocking
var removedCities = currentCities.Except(newCities);
weatherSvcList = StopSvc(removedCities);
weatherSvcList = RelaunchErrorSvc(cities);
currentCities = newCities;
}
Ich habe in Schauspieler-Modell gesucht, aber scheint, wie Schauspieler nicht für lang andauernde Aufgabe geeignet sind, und es ist auch schwer zu starten/stoppen sie. Irgendeine Idee, welches Service/Programmiermodell ich verwenden sollte?
Danke für die Lösung. Ich werde es morgen früh überprüfen. Frohes Thanksgiving! –
aber welcher Dienst würde im Hintergrund ausgeführt werden, um die Nachrichten zu verwerfen und in einer Endlosschleife zu verarbeiten? –