code: def _execute_sbatch(self):
          
          commands = self.campaign.process.get('commands', {})
          sbatch = find_executable(commands.get('sbatch', 'sbatch'))
          sbatch_command = [sbatch, '--parsable', self.sbatch_filename]
          try:
              self.logger.debug(
                  'Executing command: %s',
                  ' '.join(map(six.moves.shlex_quote, sbatch_command)),
              )
              sbatch_out = subprocess.check_output(
                  sbatch_command, universal_newlines=True
              )
          except subprocess.CalledProcessError as cpe:
              self.logger.error(
                  "SBATCH return non-zero exit" "status %d for tag %s",
                  cpe.returncode,
                  self.tag,
              )
              sbatch_out = cpe.output
          jobidre = re.compile(r'^([\d]+)(?:;\S*)?$')
          jobid = None
          for line in sbatch_out.splitlines():
              res = jobidre.match(line)
              if res is not None:
                  jobid = res.group(1)
                  self.logger.info("Submitted SBATCH job %s for tag %s", jobid, self.tag)
              elif line:
                  self.logger.warning("SBATCH: %s", line)
          if jobid is None:
              self.logger.error("SBATCH submission failed for tag %s", self.tag)
              return -1
          else:
              return int(jobid)
docs: Schedule the sbatch file using the sbatch command
          :returns the slurm job id