in run_example.py [0:0]
def main(args):
session = boto3.session.Session(profile_name=args.profile)
CLUSTER_NAME = "SatCompCluster"
cf = Cloudformation(session.client("cloudformation"))
stack_outputs = cf.get_outputs(f"job-queue-{args.project_name}")
output = subprocess.check_output(['./run-solver-main.sh', args.profile, CLUSTER_NAME, stack_outputs["SolverProjectDefinition"], stack_outputs["Subnet"], stack_outputs["SecurityGroupId"], args.file, '2', args.project_name])
task_output = json.loads(output)
print(task_output)
task_arn = task_output['tasks'][0]['taskArn']
task_id = task_arn.split('/')[2]
main_task = Task(ecs_client=session.client("ecs"), cluster_name=CLUSTER_NAME, task_arn=task_arn)
log_client = session.client("logs")
log_analyzer = LogAnalyzer(log_client)
ip_fetcher = IpFetch(log_analyzer)
ip_addr = ip_fetcher.fetch_ip(args.project_name, task_id)
worker_task = None
if args.cloud == None or args.cloud == "True":
output2 = subprocess.check_output(['./run-worker.sh', args.profile, CLUSTER_NAME, stack_outputs["SolverProjectDefinition"], stack_outputs["Subnet"], stack_outputs["SecurityGroupId"], args.file, '2', ip_addr, args.project_name])
task_output2 = json.loads(output2)
task_arn2 = task_output2['tasks'][0]['taskArn']
task_id2 = task_arn2.split('/')[2]
worker_task = Task(ecs_client=session.client("ecs"), cluster_name=CLUSTER_NAME, task_arn=task_id2)
main_task.wait_for_task_complete()
if args.cloud == None or args.cloud == "True" and worker_task is not None:
worker_task.kill()
logs = log_analyzer.fetch_logs(args.project_name, task_id)
print(logs)