Details
-
Type:
Story
-
Status:
Reopened
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: 2.1 RC 1
-
Fix Version/s: Post 2.4.0
-
Component/s: Documentation - General
-
Labels:None
-
Familiarity:Similar
Description
Asynchronous services in T1 need to be polled using a nested workflow containing the 'fail if false' local worker in order to execute them. This will not work in T2, so we need to specify the despatch stack pattern to replicate this behaviour when translating T1 workflows or when creating new T2 workflows with asynchronous services
Solution:
Add documentation on how to use the Loop layer to use asynchronous services.
Test:
Test the documentation on a real user together with an asynchronous EBI service.

This can be done by doing a dispatch stack layer similar to "failover" that retries the 1st activity until the 2nd activity returns "true" on the "shouldContinue" output port or similar.
The 1st activity would then be a nested workflow to be repeated, the second a beanshell script or another nested workflow (that could invoke the services that checks if the job is finished).
However that would be a solution that is more suitable for "continue doing something until condition X" - for the issue described by this bug it's more a matter of just waiting and checking the status before returning by getting the results. Typically the: