code: def execute(self, debug=False):
          
  
          if debug:
              # Set some default times for execution (debugging)
              start_time = datetime(year=2016, month=10, day=19, hour=12, minute=28, tzinfo=UTC)
              duration = timedelta(seconds=5)
              end_time = start_time + duration
  
              relative_interval = RelativeTimeInterval(0, 0)
              time_interval = TimeInterval(start_time, end_time)
              # workflow_id = "lda_localisation_model_predict"
          else:
              duration = 0  # not needed
              relative_interval = self.hyperstream.config.online_engine.interval
              time_interval = relative_interval.absolute(utcnow())
  
          for _ in range(self.hyperstream.config.online_engine.iterations):
              if not debug:
                  # if this takes more than x minutes, kill myself
                  signal.alarm(self.hyperstream.config.online_engine.alarm)
  
              logging.info("Online engine starting up.")
  
              # self.hyperstream.workflow_manager.set_requested_intervals(workflow_id, TimeIntervals([time_interval]))
              self.hyperstream.workflow_manager.set_all_requested_intervals(TimeIntervals([time_interval]))
              self.hyperstream.workflow_manager.execute_all()
  
              logging.info("Online engine shutting down.")
              logging.info("")
  
              sleep(self.hyperstream.config.online_engine.sleep)
  
              if debug:
                  time_interval += duration
              else:
                  time_interval = TimeInterval(time_interval.end, utcnow() + timedelta(seconds=relative_interval.end))
docs: Execute the engine - currently simple executes all workflows.