Data Work system gather all data from a database to make analysis and charts
Project description
Datawork
Este módulo es una implementación específica de Tasktools.Scheduler para procesar los datos recibidos desde estaciones GNSS y almacenados en una database Retrhinkdb.
El propósito de Datawork es realizar el trabajo pesado con la información nueva que se ha recibido. En primer caso será obtener las diferencias de posición según ECEF. Luego será direccionar la información calculada a diversos canales:
- geojson
- earlybird
- status
Instalación
Para instalar Datawork será necesario tener instalado Python v3.7 o superior. Crear un ambiente virtual.
pip install datawork
O bien, clonando del repositorio e instalando:
git clone https://gitlab.com/pineiden/datawork.git
cd datawork
python setup.py install
¿Cómo opera?
Al iniciar recupera la lista de estaciones y su metadata mediante una conexíón socket al Collector.
El TaskAssignator toma la lista y activa las tareas que están a la espera en el Scheduler, al activarse comienza a operar un loop con tres elementos principales:
- Objecto rethinkdb para fuente
- Objeto rethinkdb para destino ENU
- Procesador de información
También, de forma paralela, permanecen en operación:
- Entrega a distintas colas RabbitMQ de la información procesada
- Cliente socket conectado a Collector
- Servidor socket a la escucha de conexiones.
En operación el sistema rescata desde el momento anterior hasta el presente la lista de nuevos elementos en la tabla correspondiente a la estación. Si se obtiene una lista no vacía se procede a transformar y envíar a los diferentes destinos.
Comando 'Datawork'
Se dispone de un comando Datawork para activar el proceso, para casos particulares revisar la ayuda.
datawork --help
¿Qué poner como parámetros de ambiente virtual?
#!/bin/bash
# This hook is sourced after this virtualenv is activated.
export COLLECTOR_DBUSER='dbuser'
export COLLECTOR_DBPASS='epdasdasd'
export COLLECTOR_DBNAME='dbname'
export COLLECTOR_DBHOST='localhost'
export COLLECTOR_PORT=2345
# SETTINGS Collector LOCAL
export COLLECTOR_EST_X_PROC=3
export COLLECTOR_TSLEEP=1
export COLLECTOR_WORKERS=6
export GSOF_TIMEOUT=8
export CLL_STATUS="ALL"
export CLL_GROUP='["QSCO"]'
#Datawork
export DATAWORK_EST_X_PROC=8
export DATAWORK_TSLEEP=2
export DATAWORK_WORKERS=12
export GSOF_TIMEOUT=2
export DW_STATUS="ALL" # OPTIONS: "GROUP" "ALL"
export DW_GROUP='["QSCO"]'
export DW_DIR="/home/datawork/datawork_system/datawork/datawork"
export GUI_WORKERS=10
export GUI_STATIONS_BY_WORKER=12
export SELECT_GROUP=4
alias dbus_coords="dbus-monitor type=signal interface=\"csn.coord.interface\""
#export COLLECTOR_SOCKET_IP="10.54.217.15"
export COLLECTOR_SOCKET_IP='atlas.csn.uchile.cl'
export COLLECTOR_SOCKET_PORT=6677
#export RDB_SOURCE='atlas.csn.uchile.cl'
export RDB_SOURCE='atlas.csn.uchile.cl'
export RDB_ENU='10.54.218.66'
#export DATAWORK_SOCKET_IP="10.54.218.66"
export DATAWORK_SOCKET_IP="localhost"
export DATAWORK_SOCKET_PORT=6666
export MQ_HOST="10.54.217.95"
# Es la dirección ip on url del host dónde se ubica el servicio
#export MQ_NAME="enugeojson_prod"
# Es el nombre de usuario que accede a la cola
#export MQ_PASS="pwd"
# Es el la password asociada
#export MQ_VHOST="gpsdata"
# Es el nombre del host virtual de la cola
#export MQ_CODE="geo_enu_data"
# Es el nombre en código de la cola
#export MQ_QUEUE_NAME="gpsstream"
echo "Loading Rabbit MQ data"
export MQ_HOST="10.54.217.95"
# Es la dirección ip on url del host dónde se ubica el servicio
export MQ_NAME="enugeojson_prod"
# Es el nombre de usuario que accede a la cola
export MQ_PASS="pwd"
# Es el la password asociada
export MQ_VHOST="gpsdata"
# Es el nombre del host virtual de la cola
export MQ_CODE="geo_enu"
export MQ_QUEUE_NAME="gpss"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file datawork-1.0.56.tar.gz
.
File metadata
- Download URL: datawork-1.0.56.tar.gz
- Upload date:
- Size: 563.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1e66be8d15a6274e7debd3b96f3798781eee8f57482d2d8e2d01e7d1d8a9146 |
|
MD5 | 7f832d0c3024282a94153b9aaf0f362b |
|
BLAKE2b-256 | 84089065bc22afd1c32185a047fbc2e59b325f3e7a2fb32e53eca3f4581b8622 |