Running time of sequence/regimen

@Stephanvl The best way to handle this would be to add a “wrapper sequence”. That is to say, if you must run A, B and C in sequential order, you must create a fourth sequence D:

SEQUENCE D:
  EXECUTE(A)
  EXECUTE(B)
  EXECUTE(C)

You would then schedule sequence D (and only sequence D) in a FarmEvent. Do not attempt to time each sequence or guess how long it will take since this can lead to unexpected behavior.

This is a bit of FarmBot OS trivia, but I will try to provide an answer without going too low level. In the case that a FarmEvent takes up too much time and overlaps the time slot for the next running farm event, FBOS will wait for a pre-defined “grace period” (15 minutes). If the FarmEvent cannot run within two minutes of the expected time slot, then the farm event is simply dropped.

The code that handles this logic can be found here: farmbot_os/farmbot_celery_script/lib/farmbot_celery_script/scheduler.ex at b67cae90c403919e209f14c111bade5da4489cb7 · FarmBot/farmbot_os · GitHub

I hope this helps! I am happy to answer any other questions you may have.