def __init__(self): mgr = SyncManager() mgr.start(signal.signal, (signal.SIGINT, signal.SIG_IGN)) self.ns_default = mgr.Namespace() self.ns_default.error = None self.ns_stats = mgr.Namespace() self.input_queue = mgr.Queue(maxsize=100) self.error_occurred = mgr.Event() self.error_processed = mgr.Event() self.batch_done = mgr.Event() self.mgr = mgr self.stats_lock = mgr.Lock() self.main_lock = mgr.Lock()
def main(): config = load_config(extra_args_func=gw_args) init_logger(config) log.info(f'Backend.AI Gateway {__version__}') log.info(f'runtime: {env_info()}') log_config = logging.getLogger('ai.backend.gateway.config') log_config.debug('debug mode enabled.') if config.debug: aiohttp.log.server_logger.setLevel('DEBUG') aiohttp.log.access_logger.setLevel('DEBUG') else: aiohttp.log.server_logger.setLevel('WARNING') aiohttp.log.access_logger.setLevel('WARNING') asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) num_workers = os.cpu_count() manager = SyncManager() manager.start(lambda: signal.signal(signal.SIGINT, signal.SIG_IGN)) shared_states = manager.Namespace() shared_states.lock = manager.Lock() shared_states.barrier = manager.Barrier(num_workers) shared_states.agent_last_seen = manager.dict() try: aiotools.start_server(server_main, num_workers=num_workers, extra_procs=[event_router], args=(config, shared_states)) finally: manager.shutdown() log.info('terminated.')
def run_local(): from multiprocessing.managers import SyncManager manager = SyncManager() manager.start() flags.namespace = manager.Namespace() flags.namespace.run = True signal.signal(signal.SIGINT, signal_handler) print(sys.argv) ins = GetYp() # ins.getCookie() print(ins) print("Instance: ", ins) update_nl = True if "no_namelist" in sys.argv: update_nl = False if "drain" in sys.argv: update_nl = False if not update_nl: print("Not fetching new names from site!") # ins.go(ctrlNamespace=flags.namespace, update_namelist=True) ins.go(ctrlNamespace=flags.namespace, update_namelist=update_nl, local=True)
def start_vision_process(manager: SyncManager) -> \ Tuple[Namespace, Event, Event]: ns = manager.Namespace() # init ns setattr(ns, 'active_config', ConfigMode.GEARS) evt = manager.Event() sh_evt = manager.Event() proc = mp.Process(target=vision_starter, args=(ns, evt, sh_evt)) proc.start() return ns, evt, sh_evt