WebSocket¶
WebSocket provides full-duplex message framing over a single long-lived TCP connection.
omniload consumes WebSocket frames via mq-bridge.
URI format¶
websocket+mqb://0.0.0.0:8080
This source is a server, not a client. mq-bridge binds the authority and ingests the frames that clients push to it. The authority is therefore a plain listen address with no
ws://scheme, and omniload does not dial out to an existing WebSocket server.
--source-table supplies the HTTP path the server serves (e.g. /ingest). Common options:
backlog, routed_queue_capacity, message_id_header, execution_mode. See
mq-bridge for the full option reference and delivery semantics.
Because a listening server has no end-of-stream, the run is bounded by the transfer parameters
rather than by the source draining: max_messages caps how many frames are ingested and
idle_timeout_ms decides how long to wait for the next one before finishing. Set both
deliberately.
Sample command¶
omniload ingest \
--source-uri 'websocket+mqb://0.0.0.0:8080?max_messages=1000&idle_timeout_ms=30000' \
--source-table '/ingest' \
--dest-uri 'duckdb:///websocket.duckdb' \
--dest-table 'dest.events'