-
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
Separately logging stdout and stderr #95
Comments
Currently, not, no. As However, it would be easy to do so. Do you have an example where the separation makes sense? |
I actually wasn't thinking of the I was hoping that the slurm executor could read For example, part of my workflow profile might look something like this:
I hope that this could be extended to something like
or even better, accept wildcards as follows:
|
I see the possible interest in splitting
I couldn't find a way to overcome this, and having something like slurm_extra: "'--qos=normal --output=logs/slurm_logs/{wildcards.sid}/{rule}/{rule}-%j.out'" does not work, while it worked well in < snakemake-8.
|
Snakemake is not SLURM. Snakemake collects its own logs (far more informative, than the SLURM output, as our jobscript is a Snakemake process itself). Hence, we settled for the current implementation with a pre-defined path. In a future version, it will allow us to erase old log files automatically and thereby save precious metadata space on parallel file systems. But, yeah, definitively need to work on this. SLURM, by default (you might know this, it's for the benefit of those reading along), combines Why would be a split beneficial? |
I understand your point. Yet isn't it possibly confusing to users that snakemake imposes specific behavior that cannot be adjusted individually? Defining a default is fine but having the option to modify, if needed, appears better to me. And for the sake of "portability" across scheduling systems, I am not familiar with other systems, but wouldn't they also have a split stdout/stderr option typically, if only to stay consistent with the ?GNU?/?LINUX? default behavior? I also get the point of keeping the metadata space small, but deleting SLURM logs is in my opinion bad and unexpected behavior. I, for one, like to retain my SLURM logs of successful jobs for provenance reasons. Thanks for all your efforts! |
If you write a SLURM jobscript (you can write entire workflows with SLURM) and have no If only As Snakemake is the jobscript splitting |
Currently, only stdout appears to be logged via the
--output
option to `sbatch:snakemake-executor-plugin-slurm/snakemake_executor_plugin_slurm/__init__.py
Line 97 in 2e5d308
Is there a way to separately log stderr, ideally without having to specify
slurm_extra="--error=<path_to_log>.err"
manually as a resource for each rule?The text was updated successfully, but these errors were encountered: