Example #1
0
import events
import inspect

from EventManager import *
from events import *
from handlers import *

# 实例化 EventManager
em = EventManager()
events_dic = dict(inspect.getmembers(events, inspect.isclass))

# 注册 handler
em.add_event_handler(Event1, handler1)
em.add_event_handler(DispatchEvent, dispatchHandler)
em.dispatch_event(DispatchEvent(None))


def serve_forever():
    # 将运行之前的running事件全部清0
    XkEvents.objects.filter(execute_status=EV_RUNNING).update(execute_status=EV_READY)

    while 1:
        # 获得未完成的事件
        try:
            unfinished_ev = XkEvents.objects.get(execute_status=EV_READY)
        except XkEvents.DoesNotExist:
            # print 'No events'
            time.sleep(1)
            continue
        # print 'Events ', unfinished_ev