Design question - cron versus rule for periodically triggered events

Do you know this or do you assume this?

Nothing you list here should take more than few hundred milliseconds in total unless you are adding significant Thread::sleeps or calls to executeCommandLine or calls to sendHttp*Requests.

If you are just doing filters and loops on Groups this Rule should take much less than a second to run unless you are on a significantly underpowered machine like a RPi 1, even if your … bullet point is twice as long as the five preceding points.

To directly answer your question though, best practice is to avoid having your Rule sit around doing nothing but waiting.

If you do have loops with sleeps in them it would be better to replace the loops and sleeps with looping timers so you are not tying up any threads doing nothing.