Skip to content

Dispatcher abstraction as shared infrastructure (#20, #12) #63

Description

@espg

The most impactful single investment. Both temporal (#12) and future cluster backends (#20) need the same generic fan-out → retry → measured-cost loop that currently lives as two bespoke functions in runner.py. A dispatch.py with a clean Executor protocol extracts this once. Every pipeline type (spatial, temporal, event) then inherits Lambda and local execution for free, and items 3–4 of #20 (vaex, ray/dask/slurm) plug in behind the same interface without touching pipeline logic.

This is the prerequisite that unblocks both #12 Phase 1c and #20 items 3–4.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions