This shows you the differences between two versions of the page.
concepts:commandtimeout [2013/01/15 17:46] rtavassoli created |
concepts:commandtimeout [2013/01/15 17:47] (current) rtavassoli |
||
---|---|---|---|
Line 2: | Line 2: | ||
Wenn ein Client einen Befehl((command)) an den Server sendet, kann er dem Befehl optional ein Time-Out mit geben. Der Server merkt sich dann, wann der Befehl empfangen wurde((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.)), 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. | Wenn ein Client einen Befehl((command)) an den Server sendet, kann er dem Befehl optional ein Time-Out mit geben. Der Server merkt sich dann, wann der Befehl empfangen wurde((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.)), 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 | + | 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 [[concepts:idempotency|Idempotenz]] zu sein. |