falconry/falcon

ASGI: Add affordances and recipe for long-polling

Open

#1,808 opened on Dec 12, 2020

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Python (925 forks)batch import
documentationenhancementgood first issueneeds contributor

Repository metrics

Stars
 (9,293 stars)
PR merge metrics
 (Avg merge 2d 7h) (9 merged PRs in 30d)

Description

The 3.0 ASGI implementation already affords long-polling, but it would be useful to provide a recipe to demonstrate the pattern in the context of a Falcon app.

Also, for the sake of efficiency, we may want to provide a req.wait_disconnect() or similar method that can be executed in a background task within a responder. The responder could then use this in order to detect if it should abandon a long-poll early in the case that the client bails out. This is similar to what asgi.App does when streaming SSE's (using watch_disconnect().

Contributor guide