Пример #1
0
 def __init__(self, config=None, dbengine=None, **kwargs):
     self.config = config
     self.db_engine = dbengine or get_engine(config, pool_size=20)
     self.aes = kwargs.pop("aes", None)
     self.cache = kwargs.pop(
         "cache",
         CacheManager(redis_conf(config),
                      cache_name='RadiusTaskCache-%s' % os.getpid()))
     self.cache.print_hit_stat(300)
     self.db = scoped_session(
         sessionmaker(bind=self.db_engine,
                      autocommit=False,
                      autoflush=False))
     self.taskclss = []
     self.load_tasks()
     if not kwargs.get('standalone'):
         logger.info("start register taskd events")
         dispatch.register(log_trace.LogTrace(redis_conf(config)),
                           check_exists=True)
         event_params = dict(dbengine=self.db_engine,
                             mcache=self.cache,
                             aes=self.aes)
         event_path = os.path.abspath(
             os.path.dirname(toughradius.manage.events.__file__))
         dispatch.load_events(event_path,
                              "toughradius.manage.events",
                              event_params=event_params)
Пример #2
0
def run_worker(config,dbengine,**kwargs):
    _cache = kwargs.pop("cache",CacheManager(redis_conf(config),cache_name='RadiusWorkerCache-%s'%os.getpid()))
    _cache.print_hit_stat(60)
    # app event init
    if not kwargs.get('standalone'):
        event_params= dict(dbengine=dbengine, mcache=_cache, aes=kwargs.pop('aes',None))
        event_path = os.path.abspath(os.path.dirname(toughradius.manage.events.__file__))
        dispatch.load_events(event_path,"toughradius.manage.events",event_params=event_params)
    logger.info('start radius worker: %s' % RADIUSAuthWorker(config,dbengine,radcache=_cache))
    logger.info('start radius worker: %s' % RADIUSAcctWorker(config,dbengine,radcache=_cache))
Пример #3
0
 def __init__(self, config=None, dbengine=None, **kwargs):
     self.config = config
     self.db_engine = dbengine or get_engine(config,pool_size=20)
     self.aes = kwargs.pop("aes",None)
     self.cache = kwargs.pop("cache",CacheManager(redis_conf(config),cache_name='RadiusTaskCache-%s'%os.getpid()))
     self.cache.print_hit_stat(60)
     self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False))
     # init task
     self.expire_notify_task = expire_notify.ExpireNotifyTask(self)
     self.ddns_update_task = ddns_update.DdnsUpdateTask(self)
     self.radius_stat_task = radius_stat.RadiusStatTask(self)
     self.online_stat_task = online_stat.OnlineStatTask(self)
     self.flow_stat_task = flow_stat.FlowStatTask(self)
     if not kwargs.get('standalone'):
         event_params= dict(dbengine=self.db_engine, mcache=self.cache,aes=self.aes)
         event_path = os.path.abspath(os.path.dirname(toughradius.manage.events.__file__))
         dispatch.load_events(event_path,"toughradius.manage.events",event_params=event_params)