How not to run the scheduled workflow if the previous one is still running?

I have a workflow that is scheduled by trigger (every 15 min).
In most cases, the execution time takes about 2 minutes.
But in rare cases, the execution time can be more than 15 min (it is the correct behavior). And this overlapping is not good, there can be conflicts.

How can I skip the workflow if the previous one is still running?

Circleci does not have such a feature within its core scripting, but there are a number of ORBs published by third parties that try to provide some form of lock, queuing API using external systems.

The one that was provided as an answer by a Circleci staff member is this one

I’ve not tried any of these solutions, for a simple requirement on one of the projects I used an external key-value store and a few curl based rest API calls that allowed me to set, check and delete a value that was available across workflows and jobs.

Thanks, @rit1010 !

an external key-value store

I thought about too.

But using a ready-made function is much more convenient.
The eddiewebb/queue orb looks exactly like what I need!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.