stepup-queue 1.0.0__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/PKG-INFO +3 -1
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/changelog.md +6 -1
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/examples/slurm/.gitignore +1 -1
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/pyproject.toml +2 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup/queue/canceljobs.py +7 -8
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup/queue/sbatch.py +3 -1
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/PKG-INFO +3 -1
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.editorconfig +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.github/requirements-old.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.github/scripts/extract-notes.sh +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.github/workflows/mkdocs.yaml +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.github/workflows/pytest.yaml +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.github/workflows/release.yaml +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.gitignore +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.markdownlint-cli2.jsonc +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/.pre-commit-config.yaml +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/LICENSE +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/README.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/development.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/examples/slurm/dynamic-template.sh +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/examples/slurm/plan.py +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/examples/slurm/static/slurmjob.sh +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/index.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/installation.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/license.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/docs/usage.md +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/mkdocs.yaml +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/overrides/main.html +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/setup.cfg +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup/queue/__init__.py +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup/queue/actions.py +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup/queue/api.py +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/SOURCES.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/dependency_links.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/entry_points.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/requires.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/stepup_queue.egg-info/top_level.txt +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/tests/conftest.py +0 -0
- {stepup_queue-1.0.0 → stepup_queue-1.0.1}/tests/test_sbatch.py +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stepup-queue
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: StepUp Queue integrates queued jobs into a StepUp workflow.
|
|
5
5
|
Author-email: Toon Verstraelen <toon.verstraelen@ugent.be>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
7
|
+
Project-URL: Documentation, https://reproducible-reporting.github.io/stepup-queue/
|
|
7
8
|
Project-URL: Issues, https://github.com/reproducible-reporting/stepup-queue/issues
|
|
8
9
|
Project-URL: Source, https://github.com/reproducible-reporting/stepup-queue/
|
|
10
|
+
Project-URL: Changelog, https://reproducible-reporting.github.io/stepup-queue/changelog/
|
|
9
11
|
Classifier: Development Status :: 4 - Beta
|
|
10
12
|
Classifier: Environment :: Console
|
|
11
13
|
Classifier: Intended Audience :: Education
|
|
@@ -12,7 +12,11 @@ and this project adheres to [Effort-based Versioning](https://jacobtomlinson.dev
|
|
|
12
12
|
|
|
13
13
|
(no changes yet)
|
|
14
14
|
|
|
15
|
-
## [1.0.
|
|
15
|
+
## [1.0.1][] - 2025-05-11 {: #v1.0.1 }
|
|
16
|
+
|
|
17
|
+
This is a minor cleanup release, mainly testing the release process.
|
|
18
|
+
|
|
19
|
+
## [1.0.0][] - 2025-05-11 {: #v1.0.0 }
|
|
16
20
|
|
|
17
21
|
This is an initial and experimental release of StepUp Queue.
|
|
18
22
|
|
|
@@ -24,4 +28,5 @@ It was adapted to integrate well with StepUp Core 3.
|
|
|
24
28
|
This release also features the `stepup canceljobs` tool, which was not present in Parman.
|
|
25
29
|
|
|
26
30
|
[Unreleased]: https://github.com/reproducible-reporting/stepup-queue
|
|
31
|
+
[1.0.1]: https://github.com/reproducible-reporting/stepup-queue/releases/tag/v1.0.1
|
|
27
32
|
[1.0.0]: https://github.com/reproducible-reporting/stepup-queue/releases/tag/v1.0.0
|
|
@@ -45,8 +45,10 @@ dev = [
|
|
|
45
45
|
]
|
|
46
46
|
|
|
47
47
|
[project.urls]
|
|
48
|
+
Documentation = "https://reproducible-reporting.github.io/stepup-queue/"
|
|
48
49
|
Issues = "https://github.com/reproducible-reporting/stepup-queue/issues"
|
|
49
50
|
Source = "https://github.com/reproducible-reporting/stepup-queue/"
|
|
51
|
+
Changelog = "https://reproducible-reporting.github.io/stepup-queue/changelog/"
|
|
50
52
|
|
|
51
53
|
[project.entry-points."stepup.actions"]
|
|
52
54
|
sbatch = "stepup.queue.actions:sbatch"
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
# --
|
|
20
20
|
"""Tool to cancel jobs."""
|
|
21
21
|
|
|
22
|
-
import os
|
|
23
22
|
import argparse
|
|
23
|
+
import os
|
|
24
24
|
|
|
25
25
|
from path import Path
|
|
26
26
|
|
|
@@ -40,7 +40,7 @@ def canceljobs_tool(args: argparse.Namespace) -> int:
|
|
|
40
40
|
print(f"Path {path} is not a directory.")
|
|
41
41
|
continue
|
|
42
42
|
for job_log in path.glob("**/slurmjob.log"):
|
|
43
|
-
with open(job_log
|
|
43
|
+
with open(job_log) as f:
|
|
44
44
|
lines = f.readlines()
|
|
45
45
|
if len(lines) < 2 or lines[0][:-1] != FIRST_LINE:
|
|
46
46
|
print(f"Invalid first line in {job_log}.")
|
|
@@ -49,12 +49,12 @@ def canceljobs_tool(args: argparse.Namespace) -> int:
|
|
|
49
49
|
print(f"Found job {job_id} on cluster {cluster} in {job_log}")
|
|
50
50
|
job_ids.setdefault(cluster, []).append(job_id)
|
|
51
51
|
# Cancel 100 at a time to avoid exceeding the command line length limit.
|
|
52
|
-
for cluster,
|
|
53
|
-
while len(
|
|
54
|
-
command = f"scancel -M {cluster} " + " ".join(
|
|
52
|
+
for cluster, cluster_job_ids in job_ids.items():
|
|
53
|
+
while len(cluster_job_ids) > 0:
|
|
54
|
+
command = f"scancel -M {cluster} " + " ".join(cluster_job_ids[:100])
|
|
55
55
|
print(command)
|
|
56
56
|
os.system(command)
|
|
57
|
-
|
|
57
|
+
cluster_job_ids[:] = cluster_job_ids[100:]
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
def canceljobs_subcommand(subparser: argparse.ArgumentParser) -> callable:
|
|
@@ -67,7 +67,6 @@ def canceljobs_subcommand(subparser: argparse.ArgumentParser) -> callable:
|
|
|
67
67
|
nargs="*",
|
|
68
68
|
type=Path,
|
|
69
69
|
help="Paths to the jobs to cancel. Subdirectories are searched recursively. "
|
|
70
|
-
|
|
70
|
+
"If not specified, the current directory is used.",
|
|
71
71
|
)
|
|
72
72
|
return canceljobs_tool
|
|
73
|
-
|
|
@@ -178,7 +178,9 @@ def rndsleep():
|
|
|
178
178
|
|
|
179
179
|
def submit_job(work_thread: WorkThread) -> str:
|
|
180
180
|
"""Submit a job with sbatch."""
|
|
181
|
-
returncode, stdout, stderr = work_thread.runsh(
|
|
181
|
+
returncode, stdout, stderr = work_thread.runsh(
|
|
182
|
+
"sbatch --parsable -o slurmjob.out -e slurmjob.err slurmjob.sh"
|
|
183
|
+
)
|
|
182
184
|
if returncode != 0:
|
|
183
185
|
if not (stderr is None or stderr == ""):
|
|
184
186
|
print(stderr)
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stepup-queue
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: StepUp Queue integrates queued jobs into a StepUp workflow.
|
|
5
5
|
Author-email: Toon Verstraelen <toon.verstraelen@ugent.be>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
7
|
+
Project-URL: Documentation, https://reproducible-reporting.github.io/stepup-queue/
|
|
7
8
|
Project-URL: Issues, https://github.com/reproducible-reporting/stepup-queue/issues
|
|
8
9
|
Project-URL: Source, https://github.com/reproducible-reporting/stepup-queue/
|
|
10
|
+
Project-URL: Changelog, https://reproducible-reporting.github.io/stepup-queue/changelog/
|
|
9
11
|
Classifier: Development Status :: 4 - Beta
|
|
10
12
|
Classifier: Environment :: Console
|
|
11
13
|
Classifier: Intended Audience :: Education
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|