Hi Ingo,

To execute two or more independent processes immediately without waiting
for each other to finish, use async mode. The example you shared will do
the thing for you. Here JobPoller takes care of the services in "action".
So if you add one more async service, it will execute independently.

the runSyncIgnore will just ignore the result of service.

Thanks

--
Regards
Nameet Jain


On Fri, Apr 24, 2020 at 11:01 PM Ingo Wolfmayr <ingo.wolfm...@wolfix.at>
wrote:

> Hi everybody,
>
> I want to run two or more services immediately after another service has
> finished.
>
> For example printing creating/printing the invoice and starting the pick
> process should be done immediately after orderchange  Invoicing and picking
> are two different processes that should be initiated at the same time.
> Picking should not wait until the invoice process is finished.
>
> Right no I have:
>
> <eca service="changeOrderStatus" event="commit"  run-on-error="false">
>        <condition field-name="orderTypeId" operator="equals"
> value="SALES_ORDER"/>
>         <condition field-name="statusId" operator="equals"
> value="ORDER_APPROVED"/>
>         <condition-field field-name="statusId" operator="not-equals"
> to-field-name="oldStatusId"/>
>         <action service="createInvoiceBeforeShipment" mode="async"
> persist="true"/>
>         <action service="sendOutputRequest" mode="async" persist="true"/>
> </eca>
>
> The problem with that is, that if there are other tasks in the queue (solr
> product update, ...) it may come to unwanted delays.
>
> Would runSyncIgnore work?
>
> It would be great if I could use th eca service definitions to to it.
>
> Best regards
> Ingo
>

Reply via email to