Skip to content

Commit 454bb05

Browse files
authored
Merge pull request #50 from xlqiang-learn/patch-2
Create job_cputime.py
2 parents 530ffd8 + f00fdce commit 454bb05

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

examples/job_cputime.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from pythonlsf import lsf
2+
3+
def print_job_cputime(jobid):
4+
5+
if lsf.lsb_init("job_info") > 0:
6+
print("failed to initialise the api")
7+
return
8+
9+
num_jobs_found = lsf.lsb_openjobinfo(jobid, "", "all", "", "", 0x2000)
10+
print('num_jobs_found: {}'.format(num_jobs_found))
11+
12+
if num_jobs_found == -1:
13+
print("no job was found")
14+
return
15+
16+
int_ptr = lsf.new_intp()
17+
lsf.intp_assign(int_ptr, num_jobs_found)
18+
19+
job_info = lsf.lsb_readjobinfo(int_ptr)
20+
21+
lsf.lsb_closejobinfo()
22+
23+
print('jobId: {}'.format(job_info.jobId))
24+
print('jobStatus: {}'.format(job_info.status))
25+
26+
# Get CPU time from run Rusage
27+
time_sum = float(job_info.runRusage.utime) + float(job_info.runRusage.stime)
28+
if time_sum > 0:
29+
print('The CPU time used is: {} seconds'.format(time_sum))
30+
31+
# Get CPU time from host Rusage of each execution host
32+
if job_info.numhRusages > 0:
33+
hRusages = job_info.hostRusage
34+
for i in range(0,job_info.numhRusages):
35+
hRusage = lsf.hRusageArray_getitem(hRusages, i)
36+
cpu_time = float(hRusage.utime) + float(hRusage.stime)
37+
print('HOST: {}, CPU_TIME: {} seconds'.format(hRusage.name, cpu_time))
38+
39+
return
40+
41+
if __name__ == "__main__":
42+
id = input("Enter a running job id:\n")
43+
print_job_cputime(int(id))

0 commit comments

Comments
 (0)