code: def manage_daemon(self):
          
          while not self.shutdown:
              # next scheduled daemon, tuple (time, index)
              item = self.daemon_list.get_next_item()
              cur = time.time()
              pajama_time = item[0] - cur
              if pajama_time > 0:
                  self.thread_event.wait(pajama_time)
              if not self.shutdown:
                  self.start_crawler(item[1], daemonize=True)
docs: Manages a daemonized crawler thread.
  
          Once a crawler it finished, it loads the next one.