def METHOD_NAME(self):
  # self._log.debug('exec base initialize')
    # The spawner/executor needs the ResourceManager information which have
    # been collected during agent startup.
    self._rm = rpa.ResourceManager.create(self._cfg.resource_manager,
                                          self._cfg, self._log, self._prof)
    self._pwd      = os.path.realpath(os.getcwd())
    self.sid       = self._cfg['sid']
    self.resource  = self._cfg['resource']
    self.rsbox     = self._cfg['resource_sandbox']
    self.ssbox     = self._cfg['session_sandbox']
    self.psbox     = self._cfg['pilot_sandbox']
    self.gtod      = '$RP_PILOT_SANDBOX/gtod'
    self.prof      = '$RP_PILOT_SANDBOX/prof'
    # if so configured, let the Task know what to use as tmp dir
    self._task_tmp = self._cfg.get('task_tmp',
                                   os.environ.get('TMP', '/tmp'))
    if self.psbox.startswith(self.ssbox):
        self.psbox = '$RP_SESSION_SANDBOX%s'  % self.psbox[len(self.ssbox):]
    if self.ssbox.startswith(self.rsbox):
        self.ssbox = '$RP_RESOURCE_SANDBOX%s' % self.ssbox[len(self.rsbox):]
    if self.ssbox.endswith(self.sid):
        self.ssbox = '%s$RP_SESSION_ID/'      % self.ssbox[:-len(self.sid)]
    self.register_input(rps.AGENT_EXECUTING_PENDING,
                        rpc.AGENT_EXECUTING_QUEUE, self.work)
    self.register_output(rps.AGENT_STAGING_OUTPUT_PENDING,
                         rpc.AGENT_STAGING_OUTPUT_QUEUE)
    self.register_publisher (rpc.AGENT_UNSCHEDULE_PUBSUB)
    self.register_subscriber(rpc.CONTROL_PUBSUB, self.control_cb)
    self._to_tasks  = list()
    self._to_lock   = mt.Lock()
    self._to_thread = mt.Thread(target=self._to_watcher)
    self._to_thread.daemon = True
    self._to_thread.start()