# signal.signal(signal.SIGTERM, job_utils.cleaning) signal.signal(signal.SIGCHLD, job_utils.wait_child_process) # init db init_flow_db() init_arch_db() # init runtime config import argparse parser = argparse.ArgumentParser() parser.add_argument('--standalone_node', default=False, help="if standalone node mode or not ", action='store_true') args = parser.parse_args() RuntimeConfig.init_env() RuntimeConfig.set_process_role(ProcessRole.DRIVER) PrivilegeAuth.init() ServiceUtils.register() ResourceManager.initialize() Detector(interval=5 * 1000).start() DAGScheduler(interval=2 * 1000).start() thread_pool_executor = ThreadPoolExecutor( max_workers=GRPC_SERVER_MAX_WORKERS) stat_logger.info( f"start grpc server thread pool by {thread_pool_executor._max_workers} max workers" ) server = grpc.server( thread_pool=thread_pool_executor, options=[(cygrpc.ChannelArgKey.max_send_message_length, -1), (cygrpc.ChannelArgKey.max_receive_message_length, -1)]) proxy_pb2_grpc.add_DataTransferServiceServicer_to_server(