def uv_sleep(seconds, ref=True): """ use the event loop for sleep. This an alternative to our own time events scheduler """ uv = uv_server() c = channel() def _sleep_cb(handle): handle.stop() c.send(None) sleep = pyuv.Timer(uv.loop) sleep.start(_sleep_cb, seconds, seconds) if not ref: sleep.unref() c.receive()
def uv_idle(ref=True): """ use the event loop for idling. This an alternative to our own time events scheduler """ uv = uv_server() c = channel() def _sleep_cb(handle): handle.stop() c.send(True) idle = pyuv.Idle(uv.loop) idle.start(_sleep_cb) if not ref: idle.unref() return c.receive()