Concurrency control for push-triggered Logic Apps

Finally! Concurrency control for push triggers has been released!  This is an EXTREMELY useful feature in serverless workflows.  The scalability of your serverless middleware is often in high contrast with backend systems that cannot handle many parallel calls.  With this feature, we don’t need to perform additional plumbing with an intermediate queue to throttle towards these backend applications, the internal Logic Apps engine takes care of this!

Very simple configuration in the Settings section of the HTTP Request trigger.  I’ve specified a maximum of two concurrent calls.

Push 1

To test this, I’ve added a Delay action that waits one minute.

Push 2

With Postman, I fired 10 concurrent HTTP request to this Logic App.  As a result, you see that 2 Logic Apps are running, while the other 8 instances have the status waiting.

Push 3

There are always a maximum of 2 Logic Apps running at the same time.

Push 4

In the end, all runs succeed.

Push 5

I’ve also tested this in combination with a SplitOn trigger.  This works as a charm: the incoming message gets debatched and the child messages are being processed, while respecting the configured concurrency control.

Capture

Smooth!  This concurrency control should always be configured when using push triggers!  SaaS applications and storage destinations often don’t have the same scalability characteristics as your serverless processing engine.  Now you can throttle with just one button click!

Enjoy!

Advertisements

One thought on “Concurrency control for push-triggered Logic Apps

  1. Pingback: Microsoft Integration Weekly Update: June 25, 2018 | Hooking Stuffs Together

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s