Skip to content

feat: add no-requeue option for #353 - #476

Merged
cmeesters merged 2 commits into
snakemake:mainfrom
conchoecia:fix/slurm-no-requeue
Aug 10, 2026
Merged

feat: add no-requeue option for #353#476
cmeesters merged 2 commits into
snakemake:mainfrom
conchoecia:fix/slurm-no-requeue

Conversation

@conchoecia

@conchoecia conchoecia commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Addresses my comments in #353 (comment). Simply adds a --no-requeue option to prevent SLURM from re-queueing jobs, thereby allowing snakemake to resubmit the jobs with the proper hooks that allow for increased resources on subsequent submissions.

Summary by CodeRabbit

  • New Features

    • Added an option to disable SLURM’s automatic job requeue behavior.
    • Disabled requeueing is applied through generated SLURM submission commands.
    • Prevented simultaneous use of requeue and no-requeue options.
  • Documentation

    • Documented the new configuration option and its interaction with retry behavior.
    • Added the corresponding SLURM resource mapping and command-line guidance.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e992d346-efb0-496e-bc12-fbb4f1d43f67

📥 Commits

Reviewing files that changed from the base of the PR and between 0c4983a and 0b44c58.

📒 Files selected for processing (3)
  • snakemake_executor_plugin_slurm/__init__.py
  • tests/test_array_jobs.py
  • tests/tests.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • snakemake_executor_plugin_slurm/init.py
  • tests/test_array_jobs.py
  • tests/tests.py

Walkthrough

Adds SLURM no-requeue support through a new executor setting, sbatch --no-requeue command generation, mutual-exclusion validation, tests, and documentation.

Changes

SLURM no-requeue support

Layer / File(s) Summary
Setting, command, and validation
snakemake_executor_plugin_slurm/__init__.py, snakemake_executor_plugin_slurm/validation.py, snakemake_executor_plugin_slurm/submit_string.py, tests/*
Adds no_requeue, emits --no-requeue, rejects simultaneous requeue settings, and covers the behavior with tests and updated stubs.
Documentation and resource mapping
docs/further.md
Documents the slurm_no_requeue resource, CLI usage, retry behavior, and mutual exclusivity with --slurm-requeue.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ExecutorSettings
  participant Validation
  participant SubmitCommand
  participant SLURM
  ExecutorSettings->>Validation: Configure no_requeue
  Validation->>SubmitCommand: Accept non-conflicting settings
  SubmitCommand->>SLURM: Submit with --no-requeue
Loading

Possibly related issues

  • snakemake/snakemake-executor-plugin-slurm#353 — Directly covers adding --slurm-no-requeue support across settings, validation, command generation, documentation, and tests.

Poem

I’m a rabbit with flags in my ear,
No requeue makes retry paths clear.
The command hops bright,
Tests thump with delight,
While docs nibble confusion away.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 60.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: adding a no-requeue option for SLURM.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cmeesters
cmeesters self-requested a review August 10, 2026 05:49

@cmeesters cmeesters left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this PR.

I like the idea of having more explicit settings and dislike the idea of cluttering the help output and increasing the complexity.

Sure hope, we can soon hide options which are for internal use, only.

@cmeesters
cmeesters merged commit 7f91037 into snakemake:main Aug 10, 2026
6 checks passed
cmeesters pushed a commit that referenced this pull request Aug 10, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.8.0](v2.7.1...v2.8.0)
(2026-08-10)


### Features

* add no-requeue option for
[#353](#353)
([#476](#476))
([7f91037](7f91037))
* allow to disable the memory array fudge
([#482](#482))
([f4b52e2](f4b52e2))


### Bug Fixes

* emit job metadata via run_job_pre before Slurm submission
([#478](#478))
([fc7aa48](fc7aa48))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants