Thông thường nếu tôi muốn có một quá trình thời gian chờ Erlang Tôi sẽ sử dụng các cấu trúc sau:Cho phép một gen_fsm để timeout nếu nó không nhận được thông điệp
receive
Msg -> ok; %% handle message
after 60000 ->
%% Handle timeout and exit
end.
Có một cơ chế tương tự trong các máy chủ OTP như gen_fsm? Tôi sẽ sinh ra gen_fsm's cho mỗi phiên hoạt động với ứng dụng của tôi và muốn họ thoát ra nếu giá trị thời gian chờ không hoạt động bị vượt quá sau khi nhận được tin nhắn.
Tôi có thể viết quy trình tùy chỉnh của riêng mình nếu cần, nhưng muốn sử dụng gen_fsm nếu có thể.
Ngoài ra bạn có thể đặt thời gian chờ ban đầu, nếu bạn vượt qua một '{timeout, Time} 'tùy chọn khi gọi bắt đầu. – Zed
Tuyệt vời, cảm ơn bạn Zed! –