Skip to content

Basic tick system

A basic tick system with fake feed, tickerplant, realtime database, historical database. and a gateway to query data

Spawn multiple RDBs (realtime databases) and HDBs (historical databases); connect, subscribe to, and query them.

There is no data persistence, however HDB data can be generated with the createHdb.q script.

Build with QPacker

Build each of the containers.

qp build

Run with Docker Compose

After building run under Docker Compose.

docker-compose up

Repo structure

cfg/               // schema and process configuration
src/
   lib/            // code that multiple processes share
   processes/      // process files

Gateway usage

If booted through bootSystem.q, the gateway is on port 5050 by default.

Queries made with queryData[table;syms] on the gateway are dispatched to a random RDB and HDB.

The table flowing through the system is example. To connect to the gateway and query for all syms:

gw:hopen 5050
gw(`queryData;`example;`)

Compilation

The repo contains a library funcDownHandle.q with a function for the gateweay that sends a function down a handle to RDB/HDBs.

For this to work, this library must remain uncompiled. This lib is here to verify that the build can identify which libs not to compile.