コード例 #1
0
ファイル: process_helpers.py プロジェクト: dmiwell/mp_manager
 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()
コード例 #2
0
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.')
コード例 #3
0
ファイル: yiff_scrape.py プロジェクト: ImportTaste/xA-Scraper
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)
コード例 #4
0
ファイル: vision.py プロジェクト: Team5818/vision-2017
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