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)