Athento incluye funcionalidad de ciclos de vida para los documentos y éstos pueden interactuar con otros sistemas BPM para el cambio de estados, completar tareas, etc.
A continuación se muestra un ejemplo de operación para completar tareas en Camunda, basado en https://pycamunda.readthedocs.io/en/latest/src/usage.html#starting-a-process-instance :
import pycamunda
def run(uuid=None, **params):
from file.utils import get_document
fil = get_document(uuid, **params)
url = params.get('url', 'http://localhost/engine-rest') worker_id = params.get('worker_id', 'my-worker') variables = params.get('variables', ['InitVariable']) # variables of the process instance fetch_and_lock = pycamunda.externaltask.FetchAndLock(url=url, worker_id=worker_id, max_tasks=10)
topic_name = params.get('topic_name', 'MyServiceTaskTopic') fetch_and_lock.add_topic(name=topic_name, lock_duration=10000, variables=variables) tasks = fetch_and_lock()
variable_name = params.get('variable_name', 'ServiceTaskVariable') for task in tasks: complete = pycamunda.externaltask.Complete(url=url, id_=task.id_, worker_id=worker_id) complete.add_variable(name=variable_name, value=2) # Send this variable to the instance complete()
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.