EngineTimer

class ClusterShell.Engine.Engine.EngineTimer(fire_delay, interval, autoclose, handler)

Concrete class EngineTimer

An EngineTimer object represents a timer bound to an engine that fires at a preset time in the future. Timers can fire either only once or repeatedly at fixed time intervals. Repeating timers can also have their next firing time manually adjusted.

A timer is not a real-time mechanism; it fires when the task’s underlying engine to which the timer has been added is running and able to check if the timer’s firing time has passed.

invalidate()

Invalidates a timer object, stopping it from ever firing again.

is_valid()

Returns a boolean value that indicates whether an EngineTimer object is valid and able to fire.

set_nextfire(fire_delay, interval=-1)

Set the next firing delay in seconds for an EngineTimer object.

The optional paramater `interval’ sets the firing interval of the timer. If not specified, the timer fires once and then is automatically invalidated.

Time values are expressed in second using floating point values. Precision is implementation (and system) dependent.

It is safe to call this method from the task owning this timer object, in any event handlers, anywhere.

However, resetting a timer’s next firing time may be a relatively expensive operation. It is more efficient to let timers autorepeat or to use this method from the timer’s own event handler callback (ie. from its ev_timer).