1
0
mirror of https://github.com/haiwen/ccnet-server.git synced 2025-04-30 03:23:21 +00:00
ccnet-server/python/ccnet/async/timer.py
2016-08-19 13:54:34 +08:00

21 lines
584 B
Python

import libevent
import logging
class Timer(object):
'''Wraps aroud a libevent timeout event'''
def __init__(self, ev_base, timeout):
self._timeout = timeout
self._evtimer = libevent.Timer(ev_base, self._callback, None)
self._evtimer.add(timeout) # pylint: disable=E1101
def _callback(self, evtimer, user_data):
dummy = user_data
try:
self.callback()
except:
logging.exception('error in timer callback:')
evtimer.add(self._timeout)
def callback(self):
raise NotImplementedError