This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (January 2019) |
In telecommunications and related engineering (including computer networking and programming), the term timeout or time-out has several meanings, including:
- A network parameter related to an enforced event designed to occur at the conclusion of a predetermined elapsed time.
- A specified period of time that will be allowed to elapse in a system before a specified event is to take place, unless another specified event occurs first; in either case, the period is terminated when either event takes place. Note: A timeout condition can be canceled by the receipt of an appropriate time-out cancellation signal.
- An event that occurs at the end of a predetermined period of time that began at the occurrence of another specified event. The timeout can be prevented by an appropriate signal.
Timeouts allow for more efficient usage of limited resources without requiring additional interaction from the agent interested in the goods that cause the consumption of these resources. The basic idea is that in situations where a system must wait for something to happen, rather than waiting indefinitely, the waiting will be aborted after the timeout period has elapsed. This is based on the assumption that further waiting is useless, and some other action is necessary.
Challenges
editBalancing timeout values in distributed systems and microservices can be tricky: short timeout values can fail healthy requests prematurely, leading to complex workarounds, while long timeout values can result in slow error responses and poor user experiences. The circuit breaker design pattern can be a better alternative, as it can monitor service health, detect failures dynamically and faster, and improve the user experience.[1]
Examples
editDeveloper(s) | Microsoft, ReactOS Contributors |
---|---|
Operating system | Windows, ReactOS |
Type | Command |
License | Windows: Proprietary commercial software ReactOS: GNU General Public License |
Website | docs |
Specific examples include:
- In the Microsoft Windows and ReactOS[2] command-line interfaces, the
timeout
command pauses the command processor for the specified number of seconds.[3][4] - In POP connections, the server will usually close a client connection after a certain period of inactivity (the timeout period). This ensures that connections do not persist forever, if the client crashes or the network goes down. Open connections consume resources, and may prevent other clients from accessing the same mailbox.
- In HTTP persistent connections, the web server saves opened connections (which consume CPU time and memory). The web client does not have to send an "end of requests series" signal. Connections are closed (timed out) after five minutes of inactivity; this ensures that the connections do not persist indefinitely.
- In a timed light switch, both energy and lamp's life-span are saved. The user does not have to switch off manually.
- Tablet computers and smartphones commonly turn off their backlight after a certain time without user input.
See also
editReferences
edit- ^ Richards, Mark. Microservices AntiPatterns and Pitfalls. O'Reilly.
- ^ "timeout.c". July 13, 2019 – via GitHub.
- ^ "timeout". docs.microsoft.com.
- ^ "TIMEOUT.exe (Windows 7/2008 or later)". ss64.com.
- This article incorporates public domain material from Federal Standard 1037C. General Services Administration. Archived from the original on 2022-01-22. (in support of MIL-STD-188).
Further reading
edit- John Paul Mueller (2007). Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. John Wiley & Sons. ISBN 978-0470165799.