Comments (6)
I suppose one could import thousands of lines of code and add yet another layer of scheduling abstraction.
But I'd rather remove than add
from flask.
That's now how HTTP works. There's one response (status code / headers). Of course you can send/stream whatever you want in the body, but it doesn't sound like you want to do that...
from flask.
Thanks for the response Adrian.
I understand that each Request can only have one response. Not sure what would even happen if two responses are sent in response to one request, don't care.
What this thread is about is, recognizing that limitation, many server-to-server servers that need to send more than one response per request, effectively send nothing on the corresponding http response, but send new HTTP requests altogether, in all likelihood the responses of these second requests is ignored as well.
This image from the docs linked above should clarify
As you can see the traditional approach is diagrammed in 2. But the approach I'm referring to is diagrammed in 1. This allows multiple replies (Outgoing Request) per incoming request to the Flask server.
from flask.
This may be out of scope for flask, I will take a look into using Werkzeug directly, which may have a more native approach towards this, that may not even need threading, in essence we just want to (send a response/do stuff) without closing the inbound-request-thread.
It's just that in Flask sending an HTTP response and closing the request-thread seem to be tightly coupled. Perhaps there is a way and I'm just ignorant of it. I typically send an http response returning from a function marked as a route, maybe there's something like flask.respond(200,"Hello")
If not, that would be the ideal API flask.respond(status_code,body), function may be called respondAndContinue if you want to avoid confusion.
from flask.
You're looking for a background task queue. https://flask.palletsprojects.com/en/3.0.x/patterns/celery/
from flask.
This is a good use case for Quart and the background tasks.
from flask.
Related Issues (20)
- CHIPS support HOT 1
- The dependency specifiers are too relaxed HOT 3
- Route Aliases HOT 2
- Flask logging - Other libraries - FileHandler creates duplicate log entries HOT 11
- transfer-encoding: debug server behavior differs from test client HOT 1
- Secret Key Rotation HOT 1
- @app.errorhandler() cannot be used in blueprint when debug=False
- Flask is not running when Debug is True on Windows HOT 1
- Starter example results in 404 error HOT 4
- How to avoid duplicate threads in debug mode
- Unable to silence logging messages HOT 1
- Broken HTML Markup in Template Inheritance HOT 1
- When using Flask to receive multiple files, an extra ā0Dā appears at the end of some images HOT 1
- Use of `hashlib.sha1` causes issue in FIPS build HOT 3
- Post request response time spikes HOT 1
- HTTP response status 204 (`No Content`) includes superfluous `Content-Type` header HOT 1
- Unable to start flask3.0 app on a minimal implementation with `invalid syntax. Perhaps you forgot a comma? (scaffold.py, line 295)` HOT 2
- Calling `flash` after `get_flashed_messages` fails HOT 3
- Conflicting cookies shenanigans with `SESSION_COOKIE_DOMAIN` HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flask.