Cameras on devices (openpanel C1): frames in memory, a binary uplink, demand
- Volatile frames are held in memory with a byte-bounded queue instead of the /dev/shm ring scanned on every put; workers keep writing to the directory, which is trimmed on a timer. A volatile upload no longer spools to disk. ARTIFACT_VOLATILE_BYTES=0 turns the ring off. - A device sends camera frames as binary messages on its socket, held and published in one step and credited to its device node; refused frames are logged and dropped. Its snapshot carries demand and the uplink (binary, or http through the portal). - One demand registry for every socket's wanted media, the tunnel's included, plus what running flows read, mapped onto on-demand ports and published as device_demand; at most 8 media names per socket. - Per-message deflate off in serve and dev; a device may fetch the last 8 digests of a message; published dashboards cached per store revision; a revoked device socket is closed with 1008. - Media tiles want bytes only while on screen; the Devices tab previews a wired camera; the device node warns when a flow reads an on-demand port.
This commit is contained in:
@@ -94,19 +94,24 @@ services:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: backend/Dockerfile
|
||||
# `fastapi dev`, because `run` takes no `--reload-dir`. Watching the worker
|
||||
# uvicorn itself, because `fastapi dev` cannot turn per-message deflate
|
||||
# off, which `fluksio serve` does for the media frames. Watching the worker
|
||||
# too makes a worker edit restart the engine, which respawns the local
|
||||
# worker pool with the new code.
|
||||
command:
|
||||
- fastapi
|
||||
- dev
|
||||
- uvicorn
|
||||
- fluksio.main:app
|
||||
- --reload
|
||||
- --host
|
||||
- 0.0.0.0
|
||||
- --port
|
||||
- "8000"
|
||||
- --ws-per-message-deflate
|
||||
- "false"
|
||||
- --reload-dir
|
||||
- /app/backend
|
||||
- --reload-dir
|
||||
- /app/worker
|
||||
- "fluksio/main.py"
|
||||
develop:
|
||||
watch:
|
||||
- path: ../backend
|
||||
|
||||
Reference in New Issue
Block a user