class SendApp(tornado.web.Application): def __init__(self): self.redis = redis.Redis(REDIS_HOST, REDIS_PORT, db=1) self.send_handler = SendHandler(self) return def send_loop(self): """ every 50ms check send notification """ key = REDIS_SEND_NOTIFICATION_KEY while True: noti = self.redis.lpop(key) if noti == None: # no message return body = json.loads(noti) self.send_handler.task(body) return
class SendDelegate(): def __init__(self, app): self.redis = app.redis self.send_handler = SendHandler(self) return def send_loop(self): key = REDIS_SEND_NOTIFICATION_KEY while True: noti = self.redis.lpop(key) if noti == None: # no message return body = json.loads(noti) self.send_handler.task(body) return def run_periodic(self): tornado.ioloop.PeriodicCallback(self.send_loop, CHECK_SEND_INTERVAL).start() return
class SendDelegate(): def __init__(self, app): self.redis = app.redis self.send_handler = SendHandler(self) return def send_loop(self): """ every 50ms check send notification """ key = REDIS_SEND_NOTIFICATION_KEY while True: noti = self.redis.lpop(key) if noti == None: # no message return body = json.loads(noti) self.send_handler.task(body) return def run_periodic(self): # set the periodic check send every 50 ms tornado.ioloop.PeriodicCallback(self.send_loop, 50).start() return