Ejemplo n.º 1
0
 async def start_remote_sync_server(self, api_endpoint, sync_time):
     try:
         User.create_or_update_from_remote(api_endpoint)
         # TODO 用户流量记录
         # UserServer.flush_metrics_to_remote(api_endpoint)
         for user in User.select():
             await self.loop.create_task(self.init_server(user))
     except Exception as e:
         logging.warning(f"sync user error {e}")
     self.loop.call_later(sync_time, self.start_remote_sync_server,
                          api_endpoint, sync_time)
Ejemplo n.º 2
0
 async def sync_from_remote(self):
     try:
         User.flush_metrics_to_remote(self.api_endpoint)
         User.create_or_update_from_remote(self.api_endpoint)
     except Exception as e:
         logging.warning(f"sync user error {e}")
     for user in User.select().where(User.enable == True):
         await self.loop.create_task(self.init_server(user))
     for user in User.select().where(User.enable == False):
         self.close_user_server(user)
     self.loop.call_later(self.sync_time, self.loop.create_task,
                          self.sync_from_remote())
Ejemplo n.º 3
0
def start_ss_cron_job(sync_time, use_json=False):
    from shadowsocks.mdb.models import User, UserServer

    loop = asyncio.get_event_loop()
    try:
        if use_json:
            User.create_or_update_from_json("userconfigs.json")
        else:
            User.create_or_update_from_remote()
            UserServer.flush_data_to_remote()
        User.init_user_servers()
    except Exception as e:
        logging.warning(f"sync user error {e}")
    loop.call_later(sync_time, start_ss_cron_job, sync_time, use_json)