in src/scripts/nf-aws.py [0:0]
def run(args):
session = boto3.Session(region_name=args.region, profile_name=args.profile)
batch = session.client('batch')
ssm = session.client('ssm')
priority_queue = ssm.get_parameter(Name=f"/gwfcore/{args.gwfcore_namespace}/job-queue/priority")
priority_queue = priority_queue['Parameter']['Value']
job_name = f"nf-workflow-{args.project}"
if args.workflow_name:
job_name = args.workflow_name
job_name = re.sub('[^\w-]', '-', job_name)
if len(job_name) > 128:
job_name = job_name[:128]
command = [args.project] + args.params
job_sub = {
"jobName": job_name,
"jobDefinition": f"nextflow-{args.nextflow_namespace}",
"jobQueue": priority_queue,
"containerOverrides": {
"command": command
}
}
if args.verbose:
print(f"submission request: {job_sub}")
response = batch.submit_job(**job_sub)
if args.verbose:
pprint(response)
else:
pprint({k:v for k, v in response.items() if k in ('jobArn', 'jobName', 'jobId')})