1
0
mirror of https://github.com/newnius/YAO-agent.git synced 2025-06-07 05:41:56 +00:00
This commit is contained in:
Newnius 2020-07-02 20:01:35 +08:00
parent f77465bb8b
commit 96366c98a3

View File

@ -280,18 +280,19 @@ class MyHandler(BaseHTTPRequestHandler):
docker_hdfs_address = form.getvalue('hdfs_address') docker_hdfs_address = form.getvalue('hdfs_address')
docker_hdfs_dir = form.getvalue('hdfs_dir') docker_hdfs_dir = form.getvalue('hdfs_dir')
docker_gpu_mem = form.getvalue('gpu_mem') docker_gpu_mem = form.getvalue('gpu_mem')
docker_dfs_src = form.getvalue('dfs_src') dfs_src = form.getvalue('dfs_src')
docker_dfs_dst = form.getvalue('dfs_dst') dfs_dst = form.getvalue('dfs_dst')
token = generate_token(16) token = generate_token(16)
try: if len(dfs_src) > 0:
# Docker wouldn't create dir by default on bind mode, try:
# see https://github.com/moby/moby/issues/13121 # Docker wouldn't create dir by default on bind mode,
path = Path(docker_dfs_src) # see https://github.com/moby/moby/issues/13121
path.mkdir(parents=True, exist_ok=True) path = Path(dfs_src)
except OSError as e: path.mkdir(parents=True, exist_ok=True)
print("Creation of the directory %s failed" % docker_dfs_src) except OSError as e:
print(e) print("Creation of the directory %s failed" % dfs_src)
print(e)
try: try:
# set PYTHONUNBUFFERED=1 to output immediately # set PYTHONUNBUFFERED=1 to output immediately
@ -309,11 +310,11 @@ class MyHandler(BaseHTTPRequestHandler):
"--env should_wait=" + docker_wait, "--env should_wait=" + docker_wait,
"--env should_cb=" + 'http://' + ClientExtHost + ':' + str(PORT) + '/can_run?token=' + token, "--env should_cb=" + 'http://' + ClientExtHost + ':' + str(PORT) + '/can_run?token=' + token,
"--env output_dir=" + docker_output, "--env output_dir=" + docker_output,
"--env hdfs_address=" + docker_hdfs_address, "--env hdfs_address=" + docker_hdfs_address if len(docker_hdfs_address) > 0 else '',
"--env hdfs_dir=" + docker_hdfs_dir, "--env hdfs_dir=" + docker_hdfs_dir if len(docker_hdfs_address) > 0 else '',
"--env gpu_mem=" + docker_gpu_mem, "--env gpu_mem=" + docker_gpu_mem,
"--env PYTHONUNBUFFERED=1", "--env PYTHONUNBUFFERED=1",
"--mount type=bind,src=" + docker_dfs_src + ",dst=" + docker_dfs_dst, "--mount type=bind,src=" + dfs_src + ",dst=" + dfs_dst if len(dfs_src) > 0 else '',
docker_image, docker_image,
docker_cmd docker_cmd
]) ])
@ -410,7 +411,7 @@ def report():
report_msg(stats) report_msg(stats)
Thread(target=launch_tasks, name='launch_tasks', args=(stats,)).start() Thread(target=launch_tasks, name='launch_tasks', args=(stats,)).start()
except Exception as e: except Exception as e:
print(e) print("[WARN]", str(e))
def reporter(): def reporter():
@ -438,7 +439,7 @@ def pmon():
} }
active_stats[int(tmp[1])] = data active_stats[int(tmp[1])] = data
except Exception as e: except Exception as e:
print(e) print("[WARN]", str(e))
time.sleep(HeartbeatInterval) time.sleep(HeartbeatInterval)
@ -518,7 +519,7 @@ def listener():
# Create a web server and define the handler to manage the # Create a web server and define the handler to manage the
# incoming request # incoming request
server = ThreadingSimpleServer(('', PORT), MyHandler) server = ThreadingSimpleServer(('', PORT), MyHandler)
print('Started http server on port ', PORT) print('[INFO] Started http server on port ', PORT)
# Wait forever for incoming http requests # Wait forever for incoming http requests
server.serve_forever() server.serve_forever()
@ -536,7 +537,7 @@ if __name__ == '__main__':
Thread(target=listener).start() Thread(target=listener).start()
Thread(target=pmon).start() Thread(target=pmon).start()
if EnableEventTrigger == 'true': if EnableEventTrigger == 'true':
print('start event trigger') print('[INFO] start event trigger')
Thread(target=event_trigger).start() Thread(target=event_trigger).start()
while True: while True: