snakemake-executor-plugin-slurm 0.10.0__tar.gz → 0.10.2__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.
Potentially problematic release.
This version of snakemake-executor-plugin-slurm might be problematic. Click here for more details.
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/PKG-INFO +1 -1
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/pyproject.toml +2 -2
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/snakemake_executor_plugin_slurm/__init__.py +10 -1
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/LICENSE +0 -0
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/README.md +0 -0
- {snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/snakemake_executor_plugin_slurm/utils.py +0 -0
{snakemake_executor_plugin_slurm-0.10.0 → snakemake_executor_plugin_slurm-0.10.2}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "snakemake-executor-plugin-slurm"
|
|
3
|
-
version = "0.10.
|
|
3
|
+
version = "0.10.2"
|
|
4
4
|
description = "A Snakemake executor plugin for submitting jobs to a SLURM cluster."
|
|
5
5
|
authors = [
|
|
6
6
|
"Christian Meesters <meesters@uni-mainz.de>",
|
|
@@ -25,7 +25,7 @@ black = "^23.7.0"
|
|
|
25
25
|
flake8 = "^6.1.0"
|
|
26
26
|
coverage = "^7.3.1"
|
|
27
27
|
pytest = "^7.4.2"
|
|
28
|
-
snakemake =
|
|
28
|
+
snakemake = "^8.20.0"
|
|
29
29
|
|
|
30
30
|
[tool.coverage.run]
|
|
31
31
|
omit = [".*", "*/site-packages/*", "Snakefile"]
|
|
@@ -137,7 +137,7 @@ class Executor(RemoteExecutor):
|
|
|
137
137
|
f"sbatch "
|
|
138
138
|
f"--parsable "
|
|
139
139
|
f"--job-name {self.run_uuid} "
|
|
140
|
-
f"--output {slurm_logfile} "
|
|
140
|
+
f"--output '{slurm_logfile}' "
|
|
141
141
|
f"--export=ALL "
|
|
142
142
|
f"--comment {comment_str}"
|
|
143
143
|
)
|
|
@@ -361,6 +361,7 @@ needs to restart this job upon a Snakemake restart.
|
|
|
361
361
|
|
|
362
362
|
We leave it to SLURM to resume your job(s)"""
|
|
363
363
|
)
|
|
364
|
+
yield j
|
|
364
365
|
elif status == "UNKNOWN":
|
|
365
366
|
# the job probably does not exist anymore, but 'sacct' did not work
|
|
366
367
|
# so we assume it is finished
|
|
@@ -408,6 +409,14 @@ We leave it to SLURM to resume your job(s)"""
|
|
|
408
409
|
)
|
|
409
410
|
except subprocess.TimeoutExpired:
|
|
410
411
|
self.logger.warning("Unable to cancel jobs within a minute.")
|
|
412
|
+
except subprocess.CalledProcessError as e:
|
|
413
|
+
msg = e.stderr.strip()
|
|
414
|
+
if msg:
|
|
415
|
+
msg = f": {msg}"
|
|
416
|
+
raise WorkflowError(
|
|
417
|
+
"Unable to cancel jobs with scancel "
|
|
418
|
+
f"(exit code {e.returncode}){msg}"
|
|
419
|
+
) from e
|
|
411
420
|
|
|
412
421
|
async def job_stati(self, command):
|
|
413
422
|
"""Obtain SLURM job status of all submitted jobs with sacct
|
|
File without changes
|
|
File without changes
|