Starting a process in async way

I have a long process and I want the user to submit the form and be prompted to check for the result later, I tried the following code, the process is started but with out entering my actual process listeners/design:

<bpmn:startEvent id="StartEvent_1" camunda:asyncBefore="true">

I started job executor from spring config:

<property name="jobExecutorActivate" value="true" />

can someone tell me what is missing and why my process is not being executed?

Hi @cutout33,

Please share a minimal version of your process model that reproduces the problem and answer these questions:

  • Which Camunda version do you use?
  • Do you use an embedded or shared process engine?
  • What exactly are the steps to reproduce the problem?

Cheers,
Thorben

Hi,

Am using 7.4 via maven. yes I use embedded process engine via spring config. I have a process that should be real simple but the listener I call when starting the process could take a while to finish so I want to start it and ask the user to check later…

and here is the process code:

<?xml version="1.0" encoding="UTF-8"?> <bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="Definitions_1" exporter="camunda modeler" exporterVersion="3.0.0" targetNamespace="http://bpmn.io/schema/bpmn"> <bpmn:process id="corpsms_job" name="Send sms" isExecutable="true"> <bpmn:startEvent id="StartEvent_1" camunda:asyncBefore="true"> <bpmn:extensionElements> <camunda:formData> <camunda:formField id="title" label="title" type="string"/> <camunda:formField id="sender_id" label="lang.sender_id" type="string"/> <camunda:formField id="recipient_numbers" label="lang.recipient_numbers" type="string"/> <camunda:formField id="content" label="lang.content" type="string"/> <camunda:formField id="priority" label="lang.priority" type="long"/> <camunda:formField id="schedule_date" label="schedule_date" type="date"/> </camunda:formData> </bpmn:extensionElements> <bpmn:outgoing>SequenceFlow_1s5pkld</bpmn:outgoing> </bpmn:startEvent> <bpmn:exclusiveGateway id="ExclusiveGateway_15f79um" name="scheduled"> <bpmn:incoming>SequenceFlow_1s5pkld</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1qua26b</bpmn:outgoing> <bpmn:outgoing>das</bpmn:outgoing> <bpmn:outgoing>SequenceFlow_1</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="SequenceFlow_1s5pkld" sourceRef="StartEvent_1" targetRef="ExclusiveGateway_15f79um"> <bpmn:extensionElements> <camunda:executionListener delegateExpression="${sms_job}" event="start"/> </bpmn:extensionElements> </bpmn:sequenceFlow> <bpmn:endEvent id="EndEvent_1e8h8hn"> <bpmn:incoming>SequenceFlow_1qua26b</bpmn:incoming> <bpmn:incoming>SequenceFlow_1qfyycu</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="SequenceFlow_1qua26b" name="Normal" sourceRef="ExclusiveGateway_15f79um" targetRef="EndEvent_1e8h8hn"> <bpmn:extensionElements> <camunda:executionListener event="start"> <camunda:script scriptFormat="javascript"><![CDATA[execution.setVariable("status", "running")]]></camunda:script> </camunda:executionListener> <camunda:executionListener delegateExpression="${objectManager}" event="start"/> </bpmn:extensionElements> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="javascript"><![CDATA[execution.getVariable("schedule_date") == null && execution.getVariable("status") != "no_suffecient_balance"]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="das" sourceRef="ExclusiveGateway_15f79um" targetRef="IntermediateCatchEvent_0yz636r"> <bpmn:extensionElements> <camunda:executionListener event="start"> <camunda:script scriptFormat="javascript"><![CDATA[execution.setVariable("status", "scheduled")]]></camunda:script> </camunda:executionListener> <camunda:executionListener delegateExpression="${objectManager}" event="start"/> </bpmn:extensionElements> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="javascript"><![CDATA[execution.getVariable("schedule_date") != null && execution.getVariable("status") != "no_suffecient_balance"]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_0yz636r"> <bpmn:incoming>das</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1qfyycu</bpmn:outgoing> <bpmn:timerEventDefinition> <bpmn:timeDate xsi:type="bpmn:tFormalExpression">${schedule_date}</bpmn:timeDate> </bpmn:timerEventDefinition> </bpmn:intermediateCatchEvent> <bpmn:sequenceFlow id="SequenceFlow_1qfyycu" sourceRef="IntermediateCatchEvent_0yz636r" targetRef="EndEvent_1e8h8hn"> <bpmn:extensionElements> <camunda:executionListener event="start"> <camunda:script scriptFormat="javascript"><![CDATA[execution.setVariable("status", "running")]]></camunda:script> </camunda:executionListener> <camunda:executionListener delegateExpression="${objectManager}" event="start"/> </bpmn:extensionElements> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="SequenceFlow_1" name="No suffecient balance" sourceRef="ExclusiveGateway_15f79um" targetRef="EndEvent_1"> <bpmn:extensionElements> <camunda:executionListener delegateExpression="${objectManager}" event="start"/> </bpmn:extensionElements> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="javascript"><![CDATA[execution.getVariable("status") == "no_suffecient_balance"]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:endEvent id="EndEvent_1"> <bpmn:incoming>SequenceFlow_1</bpmn:incoming> </bpmn:endEvent> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="corpsms_job"> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> <dc:Bounds height="36.0" width="36.0" x="173.0" y="150.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_15f79um_di" bpmnElement="ExclusiveGateway_15f79um" isMarkerVisible="true"> <dc:Bounds height="50.0" width="50.0" x="324.053" y="143.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="18.0" width="54.0" x="287.0" y="216.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1s5pkld_di" bpmnElement="SequenceFlow_1s5pkld"> <di:waypoint xsi:type="dc:Point" x="209.0" y="168.0"/> <di:waypoint xsi:type="dc:Point" x="324.0" y="168.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="221.5" y="158.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_1e8h8hn_di" bpmnElement="EndEvent_1e8h8hn"> <dc:Bounds height="36.0" width="36.0" x="555.053" y="150.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="528.053" y="186.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1qua26b_di" bpmnElement="SequenceFlow_1qua26b"> <di:waypoint xsi:type="dc:Point" x="374.0" y="168.0"/> <di:waypoint xsi:type="dc:Point" x="555.0" y="168.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="419.5" y="144.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0ehowk8_di" bpmnElement="das"> <di:waypoint xsi:type="dc:Point" x="349.0" y="193.0"/> <di:waypoint xsi:type="dc:Point" x="349.0" y="309.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="284.0" y="242.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="IntermediateCatchEvent_0yz636r_di" bpmnElement="IntermediateCatchEvent_0yz636r"> <dc:Bounds height="36.0" width="36.0" x="331.0" y="309.026"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="304.0" y="345.026"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1qfyycu_di" bpmnElement="SequenceFlow_1qfyycu"> <di:waypoint xsi:type="dc:Point" x="367.0" y="327.0"/> <di:waypoint xsi:type="dc:Point" x="573.0" y="327.0"/> <di:waypoint xsi:type="dc:Point" x="573.0" y="186.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="20.0" width="90.0" x="416.0" y="237.5"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_2" bpmnElement="EndEvent_1"> <dc:Bounds height="36.0" width="36.0" x="331.0" y="0.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="0.0" width="0.0" x="349.0" y="48.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="ExclusiveGateway_15f79um_di" targetElement="_BPMNShape_EndEvent_2"> <di:waypoint xsi:type="dc:Point" x="349.0" y="143.0"/> <di:waypoint xsi:type="dc:Point" x="349.0" y="36.0"/> <bpmndi:BPMNLabel> <dc:Bounds height="18.0" width="107.0" x="366.0" y="96.0"/> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions>