code: def enqueue_job(self, job):
          
          self.log.debug('Pushing {0} to {1}'.format(job.id, job.origin))
  
          interval = job.meta.get('interval', None)
          repeat = job.meta.get('repeat', None)
          cron_string = job.meta.get('cron_string', None)
  
          # If job is a repeated job, decrement counter
          if repeat:
              job.meta['repeat'] = int(repeat) - 1
  
          queue = self.get_queue_for_job(job)
          queue.enqueue_job(job)
          self.connection.zrem(self.scheduled_jobs_key, job.id)
  
          if interval:
              # If this is a repeat job and counter has reached 0, don't repeat
              if repeat is not None:
                  if job.meta['repeat'] == 0:
                      return
              self.connection.zadd(self.scheduled_jobs_key,
                                    {job.id: to_unix(datetime.utcnow()) + int(interval)})
          elif cron_string:
              # If this is a repeat job and counter has reached 0, don't repeat
              if repeat is not None:
                  if job.meta['repeat'] == 0:
                      return
              self.connection.zadd(self.scheduled_jobs_key,
                                    {job.id: to_unix(get_next_scheduled_time(cron_string))})
docs: Move a scheduled job to a queue. In addition, it also does puts the job
          back into the scheduler if needed.