Skip to content

feature: Ability to add custom resources to executor #32

Open
@vsoch

Description

@vsoch

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions