예제 #1
0
파일: main.py 프로젝트: fcua/x8623
def init():
    import settings
    settings.watch()

    import session.views  # NOQA

    import gevent
    from session.regions import run_region_reloader
    gevent.spawn(run_region_reloader)
예제 #2
0
파일: main.py 프로젝트: fcua/x8623
        2、清理玩家socket和数据
        '''
        from player.manager import g_playerManager
        try:
            if self.started:
                self.mainServer.stop()
            for entityID in g_playerManager.peers.keys():
                g_playerManager.kick_player(entityID)
        finally:
            self.clean_settings()
        sys.exit(0)


def log_traceback(signum, frame):
    logger.error(traceback.format_stack(frame))


if __name__ == '__main__':
    g_worldServer = WorldServer()
    import gevent_profiler

    signal.signal(signal.SIGUSR2, log_traceback)

    settings.watch()
    # import signal
    # gevent_profiler.attach_on_signal(signum=signal.SIGUSR1, duration=60)
    gevent_profiler.set_stats_output('stats.txt')
    gevent_profiler.set_summary_output('summary.txt')
    gevent_profiler.set_trace_output('trace.txt')
    g_worldServer.run()