Commit Graph

12 Commits

Author SHA1 Message Date
slice d842ebfccb
give c field when publishing incident 2018-07-18 12:47:07 -07:00
Luna Mendes 9c2dbeaf59 incidents: add rest of basic API
- change all ISO timestamp strings to unix timestamps
 - add patch_incident and new_stage

 - streaming: remove INC_UPDATE_STAGE
 - manager: change primary key on instance_stages table

This requires a table change across all elstat instances, since
we changed the primary key on instance_stages.
2018-07-18 04:28:22 -03:00
Luna Mendes dcadfd4c76 blueprints.incidents: add api base
- add getting a single incident, getting multiple (with pages), and
 creating an incident

 - blueprints.streaming: add incident related OP codes
 - consts: add IncidentType
 - manager: add incidents channel, add publish_incident
 - elstat: add snowflake.py
2018-07-17 22:59:11 -03:00
Luna Mendes ecf6234cfe elstat.adapters: add latency to db spec
Since this is a change to the table schema for all services using the
ping adapter, you will have to delete the tables relating to them.

 - elstat.blueprints: add incidents blueprint (WIP)
 - elstat.blueprints: add decorators.py
 - elstat.blueprints: add errors.py
 - elstat.manager: add incidents & incident_stages tables
 - run: add handler for ApiError
2018-07-13 23:20:09 -03:00
Luna Mendes 31a0f2b989
Add streaming API documentation
- streaming: add sub/unsub OP codes, changing from the old behavior of
    just giving a channels array.
 - streaming: properly check payloads against their data and send
    proper errors.

 - manager: add unsubscribe()
2018-07-11 18:23:47 -03:00
Luna Mendes 3fa27f5de6
move blueprints inside elstat folder
- add OP.DATA
 - manager: add _websockets map
 - manager: add basic publish logic
 - worker: add timestamps to published messages
2018-07-11 17:00:39 -03:00
Luna Mendes 3ec64d5bdd
worker: add basic _dispatch_work logic 2018-07-11 03:42:31 -03:00
Luna Mendes 7e6d9d5402
add channel creation
dynamically create channels by adapter's specs.

 - add cleanup tasks for ServiceManager and ServiceWorker
2018-07-11 02:48:00 -03:00
Luna Mendes 053762f69f
blueprints: add streaming blueprint
clients can connect and subscribe to different channels
and they will get messages from those channels (basic pub/sub)

this is useful in the case of a client wanting issue updates
in real time, which is better than the client having to poll
/api/status every now and then.

 - manager: add ServiceManager.subscribe and .unsub_all
2018-07-10 20:03:07 -03:00
Luna Mendes d92c09772e
add public api
- generalize elixire adapter into http adapter
 - fix ping adapter not sending a tuple
 - add ServiceWorker.process_work to insert results into the database
2018-07-09 02:48:44 -03:00
Luna Mendes 359c62efd6 Add proper adapter implementations
also add table making for the db
2018-07-08 00:38:14 -03:00
Luna Mendes 9ed1ec60cf add ServiceManager & ServiceWorker 2018-07-07 20:51:43 -03:00