Skip to content

close(True) causes TypeError; final task state not persisted #11

@TadakiAsechi

Description

@TadakiAsechi

Problem: With RedisStreamsEventQueue and a2a-sdk's default flow, the final task state (completed/failed/canceled) is never saved to TaskStore.

Cause: EventConsumer calls queue.close(True) on final event. RedisStreamsEventQueue.close() has no parameters → TypeError → final event is never yielded → TaskStore.save() never runs.

Fix: Add close(self, immediate: bool = False) to match the SDK contract. When manager closes a task queue, call queue.close(immediate=True) (and optionally run pending cleanup: xpending_range + xack).

We have a patch and can open a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions