Skip to content

Promote the prefork frames to a shared worker protocol module #547

Description

@pratyush618

Move the line-delimited JSON frames from crates/taskito-python/src/prefork/protocol.rs into crates/taskito-core/src/worker/protocol.rs so one wire format serves both the pipe and socket transports, and migrate the prefork pool onto it.

Add three frames:

Frame Direction Payload
hello executor to scheduler {executor_id, sdk, version, tasks[], slots}
hello_ack scheduler to executor {scheduler_id, protocol_version}
heartbeat executor to scheduler {free_slots}

Payload bytes stay CBOR per crates/taskito-core/BINDING_CONTRACT.md. Protocol version mismatch is rejected at hello_ack, never silently downgraded.

Done when cargo test --workspace is green and prefork behaviour is unchanged. First phase — everything else builds on it. 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