docs: def DueToRun(self):
      """Called periodically by the cron daemon, if True Run() will be called.
  
      Returns:
          True if it is time to run based on the specified frequency.
      """
      if self.Get(self.Schema.DISABLED):
        return False
  
      cron_args = self.Get(self.Schema.CRON_ARGS)
      last_run_time = self.Get(self.Schema.LAST_RUN_TIME)
      now = rdfvalue.RDFDatetime.Now()
  
      # Its time to run.
      if (last_run_time is None or
          now > cron_args.periodicity.Expiry(last_run_time)):
  
        # Not due to start yet.
        if now < cron_args.start_time:
          return False
  
        # Do we allow overruns?
        if cron_args.allow_overruns:
          return True
  
        # No currently executing job - lets go.
        if self.Get(self.Schema.CURRENT_FLOW_URN) is None:
          return True
  
      return False