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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snakemake-executor-plugin-slurm
3
- Version: 0.10.0
3
+ Version: 0.10.2
4
4
  Summary: A Snakemake executor plugin for submitting jobs to a SLURM cluster.
5
5
  Home-page: https://github.com/snakemake/snakemake-executor-plugin-slurm
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "snakemake-executor-plugin-slurm"
3
- version = "0.10.0"
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 = {git = "https://github.com/snakemake/snakemake.git"}
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