with timer.expires(after=60): # 60 second expiry
           # do some work
In the example above if "trainer_func" takes more than 60 seconds to
complete, then the worker process is killed and the agent retries the
worker group.
Client Methods
torch.distributed.elastic.timer.configure(timer_client)
Configures a timer client. Must be called before using "expires".
torch.distributed.elastic.timer.expires(after, scope=None, client=None)
Acquires a countdown timer that expires in "after" seconds from
   now, unless the code-block that it wraps is finished within the
   timeframe. When the timer expires, this worker is eligible to be
   reaped. The exact meaning of "reaped" depends on the client
   implementation. In most cases, reaping means to terminate the
   worker process. Note that the worker is NOT guaranteed to be reaped
   at exactly "time.now() + after", but rather the worker is
   "eligible" for being reaped and the "TimerServer" that the client