User Tools

Site Tools


concepts:commandtimeout

Befehls Time-Out

Wenn ein Client einen Befehl1) an den Server sendet, kann er dem Befehl optional ein Time-Out mit geben. Der Server merkt sich dann, wann der Befehl empfangen wurde2), und prüft diesen Zeitpunkt plus Time-Out gegen die Uhrzeit nochmal vor dem endgültigen Transaction.Commit(). Wenn das Time-Out abgelaufen ist, wird der Befehl nicht durchgeführt.

Aber auch ein Befehls Time-Out hilf nur, die sofortige Konsistenz zu verbessern, er fügt dem System keine Garantien hinzu. Die sinnvollste Lösung scheint tatsächlich die der Idempotenz zu sein.

1) command
2) wobei hier eine weitere Unbekannte im Spiel ist: wie lange dauert der Weg vom Client zum Server. Wenn dieser kein Oberlimit hat, kann der Befehl trotz eines gesetzten Time-Outs von z.B. 5 Sekunden noch Stunden später ausgeführt werden.
concepts/commandtimeout.txt · Last modified: 2013/01/15 17:47 by rtavassoli