It would be good for the executor interface to have, akin to the command line arguments, an easy way to add custom resources to a step. I had tried adding these for the Kueue executor I was working on https://github.com/snakemake/snakemake-executor-kueue#job-resources but ran into bugs / issues (I think I reported somewhere but don't remember off the top of my head now!)
Now that the interface is more established, I am going to go back to Kueue and give it another look, and I can possibly make suggestions about how to go about it. I'm actually starting on the skeleton for Google Batch this morning - I'm just about ready to record my talk (thank goodness) so time should be opening up shortly and I'm super excited to get this underway!
I'll report back here if I make some time to work on the executor interface. My thinking is that we want something that mirrors the command line arguments, eg..,
from snakemake_interface_executor_plugins.resources import ExecutorResourcesBase
# Optional:
# Define custom resources for your executor
# They will be looked for as <executor-name>-<resource-name> in each step.
# All step resources must be optional
@dataclass
class ExecutorResources(ExecutorResourcesBase):
container: Optional[string]=field(
default=None,
metadata={
"help": "The name of the container to use for the step.",
"env_var": False,
}
)
The above would be acceptable as:
rule a:
input: ...
output: ...
resources:
kueue_container=ghcr.io/rse-ops/mamba:app-mamba
shell:
"..."
I'll see if I can prototype something today after batch and the kueue refactor!
It would be good for the executor interface to have, akin to the command line arguments, an easy way to add custom resources to a step. I had tried adding these for the Kueue executor I was working on https://github.com/snakemake/snakemake-executor-kueue#job-resources but ran into bugs / issues (I think I reported somewhere but don't remember off the top of my head now!)
Now that the interface is more established, I am going to go back to Kueue and give it another look, and I can possibly make suggestions about how to go about it. I'm actually starting on the skeleton for Google Batch this morning - I'm just about ready to record my talk (thank goodness) so time should be opening up shortly and I'm super excited to get this underway!
I'll report back here if I make some time to work on the executor interface. My thinking is that we want something that mirrors the command line arguments, eg..,
The above would be acceptable as:
I'll see if I can prototype something today after batch and the kueue refactor!