Skip to content

Add RemoteDispatcher and a Transport abstraction to taskito-core #548

Description

@pratyush618

Add crates/taskito-core/src/worker/transport.rs (a Transport trait over Read + Write, with UDS and TCP impls) and crates/taskito-core/src/worker/remote.rs (RemoteDispatcher impl WorkerDispatcher plus the attached-executor registry).

WorkerDispatcher (crates/taskito-core/src/worker/mod.rs:19) needs one method — run(job_rx, result_tx) — so the scheduler is untouched. crates/taskito-python/src/prefork/child.rs:105 already splits the connection into a Write half and a Read half; only the concrete stream changes.

Dispatch only task names an attached executor advertised in hello. Advertised slot counts feed the existing max_in_flight / claim_execution_batch gating rather than a parallel limiter.

Done when an in-memory transport test dispatches a job and returns a result, plus a test showing an executor drop leaves the job to the dead-owner reaper. Depends on the protocol module. Plan: tasks/executor-attach.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions