Skip to content

[v1.2] Document Client lifecycle independent of WebhookServer (queue-based ingest pattern) #122

@MaxMansfield

Description

@MaxMansfield

Context

Today the canonical SDK example uses @rtms.on_webhook_event + rtms.run(), which couples webhook receipt and RTMS client lifecycle into one process. This is right for the quickstart but blocks the standard production pattern for failover — a small ingest service validates webhooks and enqueues to SQS / Kinesis / RabbitMQ; a separate worker fleet pulls from the queue and joins meetings. The worker never runs the SDK's HTTP server; it just creates rtms.Client() from a payload it received from the queue.

This pattern is already technically possible with the SDK today — you can import rtms; client = rtms.Client(); pool.add(client); client.join(payload) without ever using @rtms.on_webhook_event or rtms.run(). But it's nowhere in the docs, no sample, and no story for the lifecycle of pool.run() when called outside the implicit context.

What to ship

  1. Documented sample in examples/python.md of "worker that takes a payload from any source (SQS, HTTP body, file, in-memory queue) and joins a meeting" — no HTTP server.
  2. Documented sample of the "ingest service" pattern — accept the webhook, verify the signature with rtms.verify_webhook_signature() (DEVS-X2), enqueue the payload to whatever queue the customer uses.
  3. Reference architecture diagram for SQS-replay (Python sample). Could live in the same file or a new examples/cloud-deploy.md.
  4. No code change required — this is documentation + samples. The SDK already supports it.

Acceptance criteria

  • New "Production patterns" or "Decoupled lifecycle" section in examples/python.md
  • Sample of worker-from-queue pattern
  • Sample of ingest-service pattern
  • Reference architecture diagram (ASCII or image)

Cross-language parity

  • Equivalent samples in examples/node.md
  • Same architectural pattern, same component split (ingest + worker)

Source

Tracked in vault: Projects/RTMS SDK v1.2.md → DEVS-X11.

Tracker

Part of the v1.2 milestone. Project: https://github.com/orgs/zoom/projects/11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cloud deployAffects Docker / ECS / Fargate / Kubernetes deploymentsdocumentationImprovements or additions to documentationv1.2Part of the v1.2 release

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions