Skip to main content

The process virtual machine

Project description

Build Status

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 - validar auth param, devuelva un usuario

  • 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

cacahuate-2.0.2.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cacahuate-2.0.2-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

Details for the file cacahuate-2.0.2.tar.gz.

File metadata

  • Download URL: cacahuate-2.0.2.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cacahuate-2.0.2.tar.gz
Algorithm Hash digest
SHA256 8cfd806c029e01af3e8fc4c6eb6d752e24bed34ff8d7e16b450b1cc103dc1f6b
MD5 f8d4ad75a6d51eee94922b08bec514dd
BLAKE2b-256 4975479cf2cb7b8a1c7664d52ce22e1a5d1198cd4cbaf5176b9cc238de5ec4d9

See more details on using hashes here.

File details

Details for the file cacahuate-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cacahuate-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d7835335242b05ba55541d789d697101d81c5a8d4a35295755ade73c2df9071
MD5 9bee4d2b12db4c5c8f33efd22bbbc2e5
BLAKE2b-256 e5d34bb398a3488454cccbc2b56c9e9c8128d059f9efabb5f04f3fc093e97342

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page