code: def work(self, interval=5):
          
          self._setproctitle("Starting")
          logger.info("starting")
          self.startup()
  
          while True:
              if self._shutdown:
                  logger.info('shutdown scheduled')
                  break
  
              self.register_worker()
  
              job = self.reserve(interval)
  
              if job:
                  self.fork_worker(job)
              else:
                  if interval == 0:
                      break
                  #procline @paused ? "Paused" : "Waiting for #{@queues.join(',')}"
                  self._setproctitle("Waiting")
                  #time.sleep(interval)
          self.unregister_worker()
docs: Invoked by ``run`` method. ``work`` listens on a list of queues and sleeps
          for ``interval`` time.
  
          ``interval`` -- Number of seconds the worker will wait until processing the next job. Default is "5".
  
          Whenever a worker finds a job on the queue it first calls ``reserve`` on
          that job to make sure another worker won't run it, then *forks* itself to
          work on that job.