Exception: IncidentStorageLostException: localhost:27017: [Errno 111] Connection refused or similar.
This indicates that your MondoDB is not running properly. Check your MongoDB installation.
Installing bos-auto
Note: bos-auto must be installed as user
You can either install bos-auto via pypi / pip3 (production installation) or via git clone (debug installation).
For production using install bos-auto via pip3 is recommended, but the git master branch is always the latest release as well, making both installations equivalent. Recommended is a separate user.
For debug use, checkout from Github (master branch) and install dependencies manually.
The isalive call should be used for monitoring. The scheduler must be running, and the default queue a low count (< 10).
Here is an example of a positive isalive check:
Configuration
The default configuration looks like the following and is (by default) stored in config.yaml:
Both, the API and the worker make use of the same configuration file.
We need to provide the wallet pass phrase in order for the worker to be able to propose changes to the blockchain objects according to the messages received from the data feed.
Command Line Tool
Schema
The messages sent to the API need to follow a particular message schema which is defined in endpointschema.py
#: Default incident schema as sent from the data proxy
schema = {
"$schema": "http://json-schema.org/draft-06/schema#",
"title": "Bookie dataproxy Json",
"description": "Bookie dataproxy exchange event trigger format",
"type": "object",
"properties": {
"id": {
"type": "object",
"properties": {
"sport": {
"description": "The unique name of the sport, in english",
"type": "string",
},
"event_group_name": {
"description": "The unique name of the event group, in english (e.g. the league)",
"type": "string",
},
"start_time": {
"description": "The start time of the event in UTC, ISO format",
"type": "string",
"format": "date-time",
},
"home": {
"description": "The unique name of the home team, in english",
"type": "string",
},
"away": {
"description": "The unique name of the away team, in english",
"type": "string",
},
},
"required": ["sport", "event_group_name", "start_time", "home", "away"],
},
"call": {
"description": "The trigger that was called",
"type": "string",
"enum": ["create", "in_progress", "finish", "result", "unknown", "settle"],
},
"arguments": {
"type": "object",
"properties": {
"season": {
"description": "The unique season of the sport",
"type": "string",
},
"whistle_start_time": {
"description": "The time the start was whistled on in UTC, ISO format",
"type": ["null", "string"],
"format": "date-time",
},
"whistle_end_time": {
"description": "The time the end was whistled off in UTC, ISO format",
"type": ["null", "string"],
"format": "date-time",
},
"home_score": {
"description": "The score of the home team",
"type": "string",
},
"away_score": {
"description": "The score of the away team",
"type": "string",
},
},
},
},
"required": ["id", "call", "arguments"],
}