cluster-generic-submit-cmd formatted as block scalars with trailing newlines do not work, as it seems that the jobs are not submitted.
These work:
cluster-generic-submit-cmd: qsub -q {resources.queue} -l select=1:ncpus={threads}:mem={resources.mem_mb}mb -l walltime={resources.walltime}
cluster-generic-submit-cmd: >-
qsub -q {resources.queue} -l select=1:ncpus={threads}:mem={resources.mem_mb}mb -l walltime={resources.walltime}
cluster-generic-submit-cmd: |-
qsub -q {resources.queue} -l select=1:ncpus={threads}:mem={resources.mem_mb}mb -l walltime={resources.walltime}
cluster-generic-submit-cmd: >-
qsub \
-q {resources.queue} \
-l select=1:ncpus={threads}:mem={resources.mem_mb}mb \
-l walltime={resources.walltime}
But these do not:
cluster-generic-submit-cmd: >
qsub -q {resources.queue} -l select=1:ncpus={threads}:mem={resources.mem_mb}mb -l walltime={resources.walltime}
cluster-generic-submit-cmd: |
qsub -q {resources.queue} -l select=1:ncpus={threads}:mem={resources.mem_mb}mb -l walltime={resources.walltime}
This might be because shell=True parses the trailing newline to separate {submitcmd} from {jobscript}, leading {submitcmd} to be parsed as its own command without {jobscript}.
|
ext_jobid = ( |
|
subprocess.check_output( |
|
'{submitcmd} "{jobscript}"'.format( |
|
submitcmd=submitcmd, jobscript=jobscript |
|
), |
|
shell=True, |
|
env=env, |
|
) |
|
.decode() |
|
.split("\n") |
|
) |
cluster-generic-submit-cmdformatted as block scalars with trailing newlines do not work, as it seems that the jobs are not submitted.These work:
But these do not:
This might be because
shell=Trueparses the trailing newline to separate{submitcmd}from{jobscript}, leading{submitcmd}to be parsed as its own command without{jobscript}.snakemake-executor-plugin-cluster-generic/snakemake_executor_plugin_cluster_generic/__init__.py
Lines 151 to 161 in ce5fc82