Source code for database

import os
import etcd

DATABASE_HOST = "http://localhost"
if "DATABASE_HOST" in os.environ:
    DATABASE_HOST = os.environ["DATABASE_HOST"]

DATABASE_PORT = "2379"
if "DATABASE_PORT" in os.environ:
    DATABASE_PORT = int(os.environ["DATABASE_PORT"])


[docs]def open_db(): """Opens the database """ return etcd.Client(host=DATABASE_HOST, port=DATABASE_PORT)
[docs]def update_state(db, new_state, job_id): """Update the state in *db* for the job *job_id* if it is less than *new_state* """ key = '/{}/state'.format(job_id) old_state = int(db.read(key).value) if old_state < new_state: db.write(key, new_state)