Clarifies that blocking calls should take a timeout

This commit is contained in:
Joel Dudley 2018-03-15 17:10:39 +00:00 committed by GitHub
parent 64871ac024
commit 22008327cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -750,6 +750,9 @@ HTTP and database calls
HTTP, database and other calls to external resources are allowed in flows. However, their support is currently limited: HTTP, database and other calls to external resources are allowed in flows. However, their support is currently limited:
* The call must be executed in a BLOCKING way. Flows don't currently support suspending to await the response to a call to an external resource * The call must be executed in a BLOCKING way. Flows don't currently support suspending to await the response to a call to an external resource
* For this reason, the call should be provided with a timeout to prevent the flow from suspending forever. If the timeout elapses, this should be treated as a soft failure and handled by the flow's business logic
* The call must be idempotent. If the flow fails and has to restart from a checkpoint, the call will also be replayed * The call must be idempotent. If the flow fails and has to restart from a checkpoint, the call will also be replayed
Concurrency, Locking and Waiting Concurrency, Locking and Waiting