Ejemplo n.º 1
0
def _get_workflows():
    from zengine.engine import ZEngine, WFCurrent
    from zengine.models import BPMNWorkflow

    workflows = []
    for wf in BPMNWorkflow.objects.all():
        engine = ZEngine()
        engine.current = WFCurrent(workflow_name=wf.name)
        workflows.append(engine.load_or_create_workflow())
    return workflows
Ejemplo n.º 2
0
def get_workflows():
    from zengine.config import settings
    from zengine.engine import ZEngine, WFCurrent
    workflows = []
    for package_dir in settings.WORKFLOW_PACKAGES_PATHS:
        for bpmn_diagram_path in glob.glob(package_dir + "/*.bpmn"):
            wf_name = os.path.splitext(os.path.basename(bpmn_diagram_path))[0]
            engine = ZEngine()
            engine.current = WFCurrent(workflow_name=wf_name)
            workflows.append(engine.load_or_create_workflow())
    return workflows
Ejemplo n.º 3
0
from pyoko.lib.utils import get_object_from_path
from zengine.client_queue import ClientQueue, BLOCKING_MQ_PARAMS
from zengine.engine import ZEngine
from zengine.current import Current
from zengine.lib.cache import Session, KeepAlive
from zengine.lib.exceptions import HTTPError, SecurityInfringementAttempt
from zengine.lib.decorators import VIEW_METHODS, JOB_METHODS, runtime_importer

from zengine.log import log
import sys

runtime_importer()

sys._zops_wf_state_log = ''

wf_engine = ZEngine()

LOGIN_REQUIRED_MESSAGE = {"cmd": "error", "error": "Login required", "code": 401}


class Worker(object):
    """
    Workflow runner worker object
    """
    INPUT_QUEUE_NAME = 'in_queue'
    INPUT_EXCHANGE = 'input_exc'

    def __init__(self):
        self.connect()
        signal.signal(signal.SIGTERM, self.exit)
        log.info("Worker starting")