Skip to main content

The openIMIS Backend workflow reference module.

Project description

openIMIS Backend workflow reference module

This repository holds the files of the openIMIS Backend Workflow reference module. It is dedicated to be deployed as a module of openimis-be_py.

Services

  • Workflow service
    • register
    • get systems/groups/workflows

Registering workflow systems

Workflow service can be extended with custom adaptors to integrate with new workflow systems. Any adaptor have to extend workflow.systems.base.WorkflowAdaptor and return triggers as implementations of workflow.systems.base.WorkflowHandler.

WorkflowService.register_system_adaptor(CustomWorkflowAdaptor)

Querying workflows

Querying available workflows can be done using WorkflowService.get_workflows service. All registered workflow systems have to implement filtering workflows by group and name.

workflows_result = WorkflowService.get_workflows(group='default', name='example')
if workflows_result['success']:
    workflow_handlers = workflows_result['data']['workflows']

Executing workflows

Workflow handlers are self contained triggers for a specific workflow in a given system. the WorkflowHandler.run method allows perform a workflow run with a given payload.

payload = { ... }
result = handler.run(payload)

Depending on the system, workflow runs can be synchronous and will return result of the workflow, or asynchronous and will return necessary info to check workflow status in a given workflow system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openimis_be_workflow-1.0.1.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

openimis_be_workflow-1.0.1-py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 3

Supported by

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