Expiration Timers ================== .. automodule:: torch.distributed.elastic.timer .. currentmodule:: torch.distributed.elastic.timer Client Methods --------------- .. autofunction:: torch.distributed.elastic.timer.configure .. autofunction:: torch.distributed.elastic.timer.expires Server/Client Implementations ------------------------------ Below are the timer server and client pairs that are provided by torchelastic. .. note:: Timer server and clients always have to be implemented and used in pairs since there is a messaging protocol between the server and client. Below is a pair of timer server and client that is implemented based on a ``multiprocess.Queue``. .. autoclass:: LocalTimerServer .. autoclass:: LocalTimerClient Below is another pair of timer server and client that is implemented based on a named pipe. .. autoclass:: FileTimerServer .. autoclass:: FileTimerClient Writing a custom timer server/client -------------------------------------- To write your own timer server and client extend the ``torch.distributed.elastic.timer.TimerServer`` for the server and ``torch.distributed.elastic.timer.TimerClient`` for the client. The ``TimerRequest`` object is used to pass messages between the server and client. .. autoclass:: TimerRequest :members: .. autoclass:: TimerServer :members: .. autoclass:: TimerClient :members: