It might not be a good idea to trust such matters to "simple
cron," because this daemon merely responds to a timer ... and does not know what it has done in the past.
Let's say that you launch a "background" activity every five minutes, that takes ten minutes to complete. Every five minutes, a new instance is added, and there are
two instances active, but cron doesn't know this. Furthermore, if any of the instances "run long,"
e.g. because of interference caused by the fact that there are two-or-more instances of itself running simultaneously
(which never happened in "testing" [sic] on the developer's super-fast machine ...), the instances can start to pile-up.
You might need to use a more-sophisticated daemon: a true batch-execution monitor or distributed processing monitor
(e.g. OpenStack, or any one of several
batch-job monitoring systems), which
are aware of what's going on at all times, and which can schedule work according to an established "work-flow" graph.
cron is a ubiquitous daemon, but it is also a simple one which dates from the 1970's.
(Which, [koff, koff ...] is not such a bad thing, really.)