Normalerweise, wenn Ich mag würde einen Erlang Prozess Timeout habe ich das folgende Konstrukt verwenden würde:erlaubt ein gen_fsm Timeout, wenn es keine Nachrichten empfängt
receive
Msg -> ok; %% handle message
after 60000 ->
%% Handle timeout and exit
end.
Gibt es einen ähnlichen Mechanismus in den OTP-Server wie gen_fsm? Ich werde gen_fsm für jede aktive Sitzung mit meiner Anwendung generieren und möchte sie beenden lassen, wenn ein Timeout-Wert für Inaktivität nach Erhalt einer Nachricht überschritten wird.
Ich kann meinen eigenen benutzerdefinierten Prozess schreiben, wenn es sein muss, würde aber lieber ein gen_fsm verwenden, wenn möglich.
Auch können Sie die anfängliche Timeout, wenn Sie eine '{Timeout-Zeit}' Option beim Aufruf von Anfang übergeben. – Zed
Ausgezeichnet, danke Zed! –