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
software
gridtk
Commits
bab11e31
Commit
bab11e31
authored
Aug 30, 2011
by
André Anjos
💬
Browse files
More bug fixes; Better printout
parent
a495715e
Changes
4
Hide whitespace changes
Inline
Side-by-side
docs/manual.rst
View file @
bab11e31
...
...
@@ -15,12 +15,13 @@ named `.jobmanager.db`) is read or written so it preserves its state during
decoupled calls. The database contains all informations about jobs that is
required for the Job Manager to:
* submit jobs (includes wrapped jobs or Torch5spro specific jobs)
* submit jobs (includes wrapped
python
jobs or Torch5spro specific jobs)
* probe for submitted jobs
* query SGE for submitted jobs
* identify problems with submitted jobs
* cleanup logs from submitted jobs
* easily re-submit jobs if problems occur
* support for parametric (array) jobs
Many of these features are also achieveable using the stock SGE utilities, the
Job Manager only makes it dead simple.
...
...
@@ -48,6 +49,14 @@ and consider all remaining arguments as part of the command to be submitted.
way to submit a job using the Job Manager. You can use either `submit` or
`wrapper`. Read the full help message of `jman` for details and instructions.
Submitting a parametric job
---------------------------
.. code-block:: sh
$ jman torch -t 1-5:2 -- dbmanage.py --help
Submitted (torch'd) 6151645 @all.q (0 seconds ago) -S /usr/bin/python /idiap/group/torch5spro/nightlies/last/bin/shell.py -- dbmanage.py --help
Probing for jobs
----------------
...
...
docs/program.rst
View file @
bab11e31
...
...
@@ -26,7 +26,7 @@ querying SGE. Here is quick example on how to use the `gridtk` framework:
# For more options look do help(gridtk.qsub)
job = man.submit(command, cwd=True, stdout='logs', name='testjob')
You can do, programatically, everything you can do with the job manager just
You can do, programatically, everything you can do with the job manager
-
just
browse the help messages and the `jman` script for more information.
.. note::
...
...
gridtk/manager.py
View file @
bab11e31
...
...
@@ -243,12 +243,12 @@ class Job:
return
"%s @%s (%s ago) %s"
%
(
self
.
name
(),
self
.
queue
(),
self
.
age
(
short
=
False
),
' '
.
join
(
self
.
args
[
0
]))
def
row
(
self
,
fmt
):
def
row
(
self
,
fmt
,
maxcmd
=
0
):
"""Returns a string containing the job description suitable for a table."""
cmdline
=
' '
.
join
(
self
.
args
[
0
])
if
len
(
cmdline
)
>
fmt
[
-
1
]
:
cmdline
=
cmdline
[:(
fmt
[
-
1
]
-
3
)]
+
'...'
if
maxcmd
and
len
(
cmdline
)
>
maxcmd
:
cmdline
=
cmdline
[:(
maxcmd
-
3
)]
+
'...'
return
fmt
%
(
self
.
name
(),
self
.
queue
(),
self
.
age
(),
cmdline
)
...
...
@@ -349,9 +349,14 @@ class JobManager:
def
__str__
(
self
):
"""Returns the status of each job still being tracked"""
return
self
.
table
(
43
)
def
table
(
self
,
maxcmdline
=
0
):
"""Returns the status of each job still being tracked"""
# configuration
fields
=
(
"job-id"
,
"queue"
,
"age"
,
"arguments"
)
lengths
=
(
16
,
5
,
3
,
4
7
)
lengths
=
(
20
,
5
,
3
,
4
3
)
marker
=
'='
# work
...
...
@@ -361,7 +366,7 @@ class JobManager:
header
=
' '
.
join
(
header
)
return
'
\n
'
.
join
([
header
]
+
[
delimiter
]
+
\
[
self
[
k
].
row
(
fmt
)
for
k
in
self
.
job
])
[
self
[
k
].
row
(
fmt
,
maxcmdline
)
for
k
in
self
.
job
])
def
clear
(
self
):
"""Clear the whole job queue"""
...
...
gridtk/scripts/jman.py
View file @
bab11e31
...
...
@@ -41,7 +41,8 @@ def ls(args):
"""List action"""
jm
=
setup
(
args
)
print
jm
if
args
.
verbose
:
print
jm
.
table
(
0
)
else
:
print
jm
def
save_jobs
(
j
,
name
):
"""Saves jobs in a database"""
...
...
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