Mercurial > repos > enis > gcp_batch_netcat
comparison gcp_batch_netcat.py @ 2:79160beab2a4 draft
planemo upload for repository https://github.com/afgane/gcp_batch_netcat
author | enis |
---|---|
date | Tue, 15 Jul 2025 21:10:05 +0000 |
parents | 7852c0efafd7 |
children | 0ea626b10557 |
comparison
equal
deleted
inserted
replaced
1:cd36336ffaf6 | 2:79160beab2a4 |
---|---|
1 | 1 |
2 import json | 2 import json |
3 import subprocess | 3 import subprocess |
4 import argparse | 4 import argparse |
5 import uuid | 5 import uuid |
6 import time | |
7 import os | |
6 | 8 |
7 def main(): | 9 def main(): |
8 parser = argparse.ArgumentParser() | 10 parser = argparse.ArgumentParser() |
9 parser.add_argument('--nfs_address', required=True) | 11 parser.add_argument('--nfs_address', required=True) |
10 parser.add_argument('--output', required=True) | 12 parser.add_argument('--output', required=True) |
11 parser.add_argument('--project', required=True) | 13 parser.add_argument('--project', required=True) |
12 parser.add_argument('--region', required=True) | 14 parser.add_argument('--region', required=True) |
13 parser.add_argument('--port', default='2049') | 15 parser.add_argument('--port', default='2049') |
16 parser.add_argument('--service_account_key', required=True) | |
14 args = parser.parse_args() | 17 args = parser.parse_args() |
18 | |
19 # Set up authentication using the service account key | |
20 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = args.service_account_key | |
15 | 21 |
16 job_name = f'netcat-job-{uuid.uuid4()}' | 22 job_name = f'netcat-job-{uuid.uuid4()}' |
17 | 23 |
18 job_spec = { | 24 job_spec = { |
19 "taskGroups": [ | 25 "taskGroups": [ |
46 '--project', args.project, | 52 '--project', args.project, |
47 '--config', job_spec_file, | 53 '--config', job_spec_file, |
48 '--format=text' | 54 '--format=text' |
49 ] | 55 ] |
50 | 56 |
57 # Wait 4 minutes before submitting the job | |
58 time.sleep(240) | |
59 | |
51 try: | 60 try: |
52 result = subprocess.run(command, capture_output=True, text=True, check=True) | 61 result = subprocess.run(command, capture_output=True, text=True, check=True) |
53 with open(args.output, 'w') as f: | 62 with open(args.output, 'w') as f: |
54 f.write("Job output:\n") | 63 f.write("Job output:\n") |
55 f.write(result.stdout) | 64 f.write(result.stdout) |