a2aproject/a2a-python

Support for long-running background after original `EventQueue`

martimfasantos opened this issue · 0 comments

Is your feature request related to a problem? Please describe.

Description:
When using the EventQueue in the current A2A examples, the queue is closed automatically after the request completes. This causes issues for long-running background tasks (like reminders or notifications) that attempt to enqueue events after the request has finished.

Observed behavior:

  • Background tasks finish successfully.

  • Attempting to enqueue events via the original EventQueue results in warnings like:

    Queue is closed. Event will not be enqueued.
    
  • Any updates or artifacts pushed after the request cannot be delivered through the closed queue.

Context / use case:
This is needed for features like reminders, scheduled notifications, or other tasks that run asynchronously and complete after the original agent request has finished.


Questions:

  • Does A2A currently support this pattern?
  • Can this behavior be reproduced using the protocol as it stands?
  • Are there any recommended examples or best practices for implementing long-running background tasks that deliver updates back to the client?

Thank you!

Describe the solution you'd like

  • Support a mechanism for long-running tasks to send updates or final artifacts back to the client even after the request has completed.