Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ProfiT-HPC
aggregator
Commits
8d6ca798
Commit
8d6ca798
authored
Jun 03, 2020
by
Azat Khuziyakhmetov
Browse files
added the exit code to job's export info
parent
af4f1a2c
Changes
1
Hide whitespace changes
Inline
Side-by-side
postexec/exportjobinfo.py
View file @
8d6ca798
...
...
@@ -37,6 +37,11 @@ _info = {
"lsf"
:
"RUN_TIME"
,
"slurm"
:
"Elapsed"
,
"regex"
:
"([0-9]+)"
},
"exit_code"
:
{
"rename"
:
"exit_code"
,
"type"
:
MType
.
INT
,
"lsf"
:
"EXIT_CODE"
,
"slurm"
:
"ExitCode"
,
"regex"
:
"([0-9]+):"
},
"requested_time"
:
{
"rename"
:
"requested_time"
,
"type"
:
MType
.
INT
,
"lsf"
:
"RUNTIMELIMIT"
,
...
...
@@ -201,7 +206,7 @@ def slurm_fetch_alloc_info(job_id):
nodes_list
=
slurm_parse_nodes_info
(
nodes_list_raw
)
cpu_count
=
slurm_parse_cpu_info
(
cpu_list_raw
)
if
re
.
match
(
r
"[0-9]+"
,
mem_alloc_raw
):
mem_alloc
=
int
(
mem_alloc_raw
)
mem_alloc
=
int
(
mem_alloc_raw
)
else
:
mem_alloc
=
""
...
...
@@ -213,6 +218,7 @@ def slurm_fetch_alloc_info(job_id):
def
parse_job_info_slurm
(
raw_data
,
alloc_info
):
time_fields
=
[
"submit_time"
,
"start_time"
,
"end_time"
]
dur_fields
=
[
"run_time"
,
"requested_time"
]
reg_fields
=
[
"exit_code"
]
job_info
=
{}
for
m
,
par
in
_info
.
items
():
...
...
@@ -225,10 +231,14 @@ def parse_job_info_slurm(raw_data, alloc_info):
# dates to timestamp
for
f
in
time_fields
:
if
f
==
"end_time"
and
job_info
[
f
]
==
"Unknown"
:
job_info
[
f
]
=
0
job_info
[
f
]
=
0
else
:
job_info
[
f
]
=
date_to_timestamp
(
job_info
[
f
],
"%Y-%m-%dT%H:%M:%S"
)
# regexes
for
f
in
reg_fields
:
job_info
[
f
]
=
get_by_regex
(
job_info
[
f
],
_info
[
f
][
"regex"
])
# slurm times to seconds
for
f
in
dur_fields
:
job_info
[
f
]
=
slurm_time_to_sec
(
job_info
[
f
])
...
...
@@ -328,7 +338,7 @@ def export_job_info(job_id):
fdata
=
format_influx_db_out
(
job_id
,
job_info
,
alloc_info
)
payload
=
{
'db'
:
confdb
.
IDB
[
"database"
],
'precision'
:
's'
}
write_url
=
"{:s}/write"
.
format
(
confdb
.
IDB
[
"api_url"
])
r
=
requests
.
post
(
write_url
,
auth
=
HTTPBasicAuth
(
confdb
.
IDB
[
"username"
],
confdb
.
IDB
[
"password"
]),
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment