code: def start(self, *_):
          
          try:
              box_configurations = self.bc_dao.run_query(QUERY_PROCESSES_FOR_BOX_ID(self.box_id))
  
              for box_config in box_configurations:
                  handler = RepeatTimer(TRIGGER_INTERVAL, self.manage_process, args=[box_config.process_name])
                  self.thread_handlers[box_config.process_name] = handler
                  handler.start()
                  self.logger.info('Started Supervisor Thread for {0}, triggering every {1} seconds'
                                   .format(box_config.process_name, TRIGGER_INTERVAL))
          except LookupError as e:
              self.logger.error('Supervisor failed to start because of: {0}'.format(e))
docs: reading box configurations and starting timers to start/monitor/kill processes