예제 #1
0
 def post(self):
     account_number = self.get_argument("account_number",None)
     radius_ipaddr = self.get_argument("radius_ipaddr",None)
     print radius_ipaddr
     vendor_id = self.get_argument("vendor_id",None)
     password = self.db.query(models.TTAccount).get(account_number).password
     rad_session = RadiusSession(self.settings.config,self.settings.db_engine,radius_ipaddr=radius_ipaddr)
     resp = yield rad_session.start(account_number,password)
     self.render_json(**resp)
예제 #2
0
 def post(self):
     batch = self.get_argument("batch",None)
     session_id = self.get_argument("session_id",None)
     randsecs = (0.001,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10)
     if batch:
         for _session_id in RadiusSession.sessions.keys():
             session = RadiusSession.sessions.pop(_session_id)
             session.stop().addCallbacks(logger.info,logger.error)
             yield sleep(0.01)
     else:
         if session_id:
             RadiusSession.stop_session(session_id=session_id)
     self.render_json(code=0,msg=u"stop session done")
예제 #3
0
    def post(self):
        account_number = self.get_argument("account_number",None)
        radius_ipaddr = self.get_argument("radius_ipaddr",None)
        vendor_id = self.get_argument("vendor_id",None)
        test_times = self.get_argument("test_times",0)
        if not is_number.valid(test_times):
            self.broadcast("test_times not valid")
            return
        password = self.db.query(models.TTAccount).get(account_number).password
        self.stat_counter = StatCounter()
        for i in range(int(test_times)):
            rad_session = RadiusSession(self.settings.config,
                self.settings.db_engine,
                radius_ipaddr=radius_ipaddr)
            d = rad_session.start(account_number,password)
            self.stat_counter.requests += 1
            d.addCallbacks(self.on_stat,logger.error)
            yield sleep(0.01)

        self.render_json(code=0,msg=u"done")