code: def _worker_queue_scheduled_tasks(self):
          
          queues = set(self._filter_queues(self.connection.smembers(
                  self._key(SCHEDULED))))
  
          now = time.time()
          for queue in queues:
              # Move due items from the SCHEDULED queue to the QUEUED queue. If
              # items were moved, remove the queue from the scheduled set if it
              # is empty, and add it to the queued set so the task gets picked
              # up. If any unique tasks are already queued, don't update their
              # queue time (because the new queue time would be later).
              result = self.scripts.zpoppush(
                  self._key(SCHEDULED, queue),
                  self._key(QUEUED, queue),
                  self.config['SCHEDULED_TASK_BATCH_SIZE'],
                  now,
                  now,
                  if_exists=('noupdate',),
                  on_success=('update_sets', queue,
                              self._key(SCHEDULED), self._key(QUEUED)),
              )
              self.log.debug('scheduled tasks', queue=queue, qty=len(result))
              # XXX: ideally this would be in the same pipeline, but we only want
              # to announce if there was a result.
              if result:
                  self.connection.publish(self._key('activity'), queue)
                  self._did_work = True
docs: Helper method that takes due tasks from the SCHEDULED queue and puts
          them in the QUEUED queue for execution. This should be called
          periodically.