-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexec_jcl_output.py
More file actions
32 lines (30 loc) · 1.17 KB
/
exec_jcl_output.py
File metadata and controls
32 lines (30 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import ftplib
import time
job_list = []
job_log = []
with open('jclfile.jcl', 'rb') as jcl_file:
with ftplib.FTP() as ftp:
ftp.set_debuglevel(0)
job_is_running = False
job_ended = False
joblog_file_name = 'TEST'
ftp_message = ftp.connect(host='0.0.0.0', port=21)
ftp_message = ftp.login(user='_user-name_', passwd='password')
ftp_message = ftp.sendcmd("SITE FILEtype=JES")
ftp_message = ftp.storlines(f"STOR jcl.jcl", jcl_file)
ftp_message = ftp_message.split('\n')
for ftp_message_line in ftp_message:
if '250-It is known to JES' in ftp_message_line:
job_is_running = True
job_id = ftp_message_line.strip()[-8:]
joblog_file_name = f"{joblog_file_name}_JOBLOG_{job_id}.txt"
break
while job_is_running:
ftp.dir(job_list.append)
for job in job_list:
if job_id in job and 'OUTPUT' in job:
job_is_running = False
job_ended = True
time.sleep(1)
if job_ended:
ftp.retrlines(f"RETR {job_id}.X", job_log.append)