The process virtual machine
Project description
The process virtual machine
This project defines storage for an abstract _process_ in a company, and implements a virtual machine that keeps track of the execution of instances of the process.
Develop
You will need the redis and mongo databases, and rabbitmq for this to work.
git clone https://github.com/tracsa/cacahuate.git && cd cacahuate
virtualenv -p /usr/bin/python3 .env
echo "export CACAHUATE_SETTINGS=$(pwd)/settings_develop.py" >> .env/bin/activate
echo "export FLASK_APP=cacahuate.http.wsgi" >> .env/bin/activate
echo "export FLASK_DEBUG=1" >> .env/bin/activate
touch settings_develop.py
source .env/bin/activate
pip install -r requirements.txt
pytest
Installation
pip install cacahuate
Cacahuated
This is the daemon in charge of moving pointers in the process, run with:
cacahuated
The Cacahuate REST API
In this same repository you will find a flask application that exposes a REST api for controling Cacahuate.
How to run
FLASK_APP=cacahuate.http.wsgi flask run
You can use any wsgi-compliant server, like gunicorn, to run this:
gunicorn cacahuate.http.wsgi:app
TODO
cambiar api de LoginProvider y HierarchyProvider, no deben guardar usuarios
auth backends no deben crear usuarios, solo devolver objetos calificados
date input solo debe recibir yyyy-mm-dd
hacer validación intensiva de xml: - dependencias existen arriba en el xml - id de nodos son únicos - condicionales validan - params existen
guardar en un store privado por hash los xml al iniciar proceso, obsoleta el sistema de versiones (borrar toda referencia a la versión) - correr validaciones al mover un xml a este storage
atrapar excepciones de template de jinja y añadir mensaje al titulo
todo uso de jinja debe tener try
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
Built Distribution
Hashes for cacahuate-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe540c21a4a350c27decf7531f1e50245dcceb6e64f6c672a338ba470957d395 |
|
MD5 | 2f04ba14f75859b68a3d5a0ac044a503 |
|
BLAKE2b-256 | 9486f37e037251c59e2f80ce2bd9a83800dc4944340a7570713a5d89324b937f |