-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
snakemake exit with MissingOutputException when using --immediate-submit #133
Comments
This is not supposed to work, see the docs on this flag, without tinkering with job dependencies. I wonder: Is this a left-over from the pre-plugin situation? Anyway, immediate submission is actually not possible (due to missing files) when no dependencies are defined on the SLURM site. The plugin is oblivious to the workflow. It cannot define dependencies, as it "sees" a job at a time. This is not a big issue, scheduling wise, as SLURM (which might change in the future) does not assign a higher priority to waiting jobs with a dependency, only to those without. We really need to implement a refusal if the SLURM executor is present. |
Thanks for the explanation. It seems that the Most of my workflows involve several thousand jobs, many of which are processed in parallel. These workflows typically take 6-8 hours to complete. Unfortunately, keeping a terminal open and reliably connected to the cluster for such extended periods is impractical. Additionally, our login sessions have a time limit of 3 hours. Given this context, I am unsure of the most feasible approach to run my workflow on the HPC. Could you kindly recommend a workaround? Should I consider making a snakemake job submission process as a long-running SLURM job itself? Your insights would be greatly appreciated! Lastly, I wonder if there are any plans to reintroduce an equivalent feature to |
You could run your workflow in a terminal multiplexer (e.g. "screen" or "tmux"), observe, that it is starting correctly, detach, log off, go for lunch, chat with a labmate (or whatever), log in again and re-attach.
I get this a lot. You could approach your friendly admins and tell them that Snakemake does not accumulate CPU time and is mostly dormant (except for localrules like plotting, download, etc. - which you would execute on a login node anyway and are hardly noticed by admins and do not hinder others). I am trying to work on a remedy so ensure within SLURM-context submissions. Not sure, it will work reliably.
Not that I am aware of, but I asked about the stance (internally) already. Snakemake itself, see about, does handle the dependencies. Perhaps, there is a way, I will let you know. Do not close the issue until then. |
Software Versions
Snakemake 8.16.0
snakemake-executor-plugin-slurm 0.9.0
slurm 23.11.7
Describe the bug
I have recently moved to Snakemake v8.16 and have been trying to execute Snakemake with the
--immediate-submit
flag in order to submit all jobs to a SLURM cluster simultaneously. However, the immediate submit functionality does not seem to function properly. A simple workflow using thesnakemake-executor-plugin-slurm
works as expected without the--immediate-submit
flag. When the immediate-submit is enabled, Snakemake continuously checks for input files for the next step, even while a submitted job is still running. Consequently, job submission terminates prematurely with aMissingOutputException
.Is there any other configuration required to ensure that the immediate-submit flag functions correctly? I’m convinced that its current behaviour is unintended.
Logs
Execute snakemake without immediate-submit flag work fine
Command executed: snakemake -s snakefile --profile slurm
Execute snakemake with immediate-submit flag failed to submit all jobs and exit prematurely with the following error:
Command executed: snakemake -s snakefile --profile slurm --immediate-submit --notemp
Minimal example
Content of the snakefile:
Additional context
config.yaml file:
The text was updated successfully, but these errors were encountered: