Skip to content

feat: Add async event processor - #472

Draft
jsonbailey wants to merge 3 commits into
mainfrom
jb/sdk-2769/async-event-processor
Draft

feat: Add async event processor#472
jsonbailey wants to merge 3 commits into
mainfrom
jb/sdk-2769/async-event-processor

Conversation

@jsonbailey

Copy link
Copy Markdown
Contributor

Adds the async analytics event delivery component for the async SDK client, extracted from the async SDK implementation branch (SDK-60).

Stacked on #471 (AsyncConfig) — review that first. Until #471 merges this PR shows its commits too; after merge a rebase drops them out.

What's here

  • AsyncEventProcessor interface + DefaultAsyncEventProcessor concrete implementation, mirroring the sync EventProcessor/DefaultEventProcessor split. send_event/flush are sync; stop is a coroutine.
  • Shared sans-I/O helpers extracted into event_processor_common.py so the sync and async processors share buffering, output formatting, and dispatch logic.
  • Tests mirroring the sync DefaultEventProcessor suite over an injected mock aiohttp session.

SDK-2769

feat: Add async event processor

@jsonbailey
jsonbailey force-pushed the jb/sdk-2769/async-event-processor branch 2 times, most recently from e7d9e77 to 0c83486 Compare July 29, 2026 18:38
Base automatically changed from jb/sdk-2768/async-config to main July 29, 2026 19:25
Implement the new AsyncEventProcessor interface with a concrete
DefaultAsyncEventProcessor, matching the sync DefaultEventProcessor
naming convention.
Triggers a flush and awaits delivery via a new inbox message, returning
whether it completed within the timeout.
@jsonbailey
jsonbailey force-pushed the jb/sdk-2769/async-event-processor branch from 0c83486 to ccb9c58 Compare July 29, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant