'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.'

def DueToRun(self):

    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()
    if ((last_run_time is None) or (now > cron_args.periodicity.Expiry(last_run_time))):
        if (now < cron_args.start_time):
            return False
        if cron_args.allow_overruns:
            return True
        if (self.Get(self.Schema.CURRENT_FLOW_URN) is None):
            return True
    return False
