示例#1
0
 def setTimeout(self, second, param, *args, **kwargs):
     self.type = self.TIMER_ONCE
     self.second = second
     msg = MsgPack(Message.MSG_INNER_TIMER, param)
     uid = msg.get_param('userId')
     gid = msg.get_param('gameId')
     msg = MsgLine(msg.pack(), gid, target=uid).pack()
     task = self.tasklet(Message.to_inner(Message.MSG_INNER_TIMER), msg,
                         None).run
     self.timer = TaskManager.call_later(self.__timeout, second, msg, task,
                                         *args, **kwargs)
     return True
示例#2
0
 def setInterval(self, interval, param, delay=None, *args, **kwargs):
     self.type = self.TIMER_LOOP
     self.second = interval
     msg = MsgPack(Message.MSG_INNER_TIMER, param)
     uid = msg.get_param('userId')
     gid = msg.get_param('gameId')
     msg = MsgLine(msg.pack(), gid, target=uid).pack()
     task = self.tasklet(Message.to_inner(Message.MSG_INNER_TIMER), msg,
                         None).run
     if delay is None:
         self.timer = TaskManager.call_later(self.__timeout, self.second,
                                             msg, task, *args, **kwargs)
     else:
         self.timer = TaskManager.call_later(self.__timeout, delay, msg,
                                             task, *args, **kwargs)
     return True