diff options
| author | eunhhu <[email protected]> | 2026-10-04 18:30:43 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-10-04 18:30:43 +0100 |
| commit | 6fda961e835527de2aac7d91e8a84fb7ae710327 (patch) | |
| tree | 9df772248a86c09ec677c1f5ee33439ca5456a82 /core/flow.h | |
| parent | 106962c7c3b8f44679078fe1c31c10f680e8ee34 (diff) | |
| download | pure-6fda961e835527de2aac7d91e8a84fb7ae710327.tar.gz pure-6fda961e835527de2aac7d91e8a84fb7ae710327.zip | |
Compute views with a body on view workers, off the connection threads, asked and pushed (020)
- pure-serve --view-workers N (a CPU each; 0: on the connection threads):
a GET of a view with a body (or a table with such a column) goes to the
workers, which show it from the app's newest snapshot on readers of
their own and give the answer back as an owner does (eventfd). The
connection thread reads and writes its other connections meanwhile.
- A snapshot of another module than the request was resolved with, or
none (the app stopped), answers 503 stopped. Past an app's queue=N of
them, 503 busy.
- A push group of such a view hands one evaluation at a time; a newer
snapshot meanwhile is evaluated after it; a group whose subscribers all
left stays until its evaluation is back.
- check.py server_view_workers: 8 askers of a long view while its app
changes module (another view in its place) and then goes: every answer
the old module's, the new one's, 503 or 404; streams closed at once
leave nothing; --view-workers 0 as before.
Diffstat (limited to 'core/flow.h')
0 files changed, 0 insertions, 0 deletions
