docs: def run(self, data, runtime_dir, argv):
          """Select a concrete connector and run the process through it.
  
          :param data: The :class:`~resolwe.flow.models.Data` object that
              is to be run.
          :param runtime_dir: The directory the executor is run from.
          :param argv: The argument vector used to spawn the executor.
          """
          process_scheduling = self.scheduling_class_map[data.process.scheduling_class]
          if 'DISPATCHER_MAPPING' in getattr(settings, 'FLOW_MANAGER', {}):
              class_name = settings.FLOW_MANAGER['DISPATCHER_MAPPING'][process_scheduling]
          else:
              class_name = getattr(settings, 'FLOW_MANAGER', {}).get('NAME', DEFAULT_CONNECTOR)
  
          data.scheduled = now()
          data.save(update_fields=['scheduled'])
  
          async_to_sync(self.sync_counter.inc)('executor')
          return self.connectors[class_name].submit(data, runtime_dir, argv)