class_docstr: Execute workflow with SGE/OGE/PBS like batch system
class_docstr_tok: ["Execute","workflow","with","SGE\/OGE\/PBS","like","batch","system"]
code: def __init__(self, template, plugin_args=None):
      super().__init__(plugin_args=plugin_args)
      self._template = template
      self._qsub_args = None
      if plugin_args:
          if "template" in plugin_args:
              self._template = plugin_args["template"]
              if os.path.isfile(self._template):
                  with open(self._template) as tpl_file:
                      self._template = tpl_file.read()
          if "qsub_args" in plugin_args:
              self._qsub_args = plugin_args["qsub_args"]
      self._pending = {}
  
imports: import sys
  from copy import deepcopy
  from glob import glob
  import os
  import shutil
  from time import sleep, time
  from traceback import format_exception
  import numpy
  from ...None import logging
  from ...utils.misc import str2bool
  from ..engine.utils import topological_sort, load_resultfile
  from ..engine import MapNode
  from .tools import report_crash, report_nodes_not_run, create_pyscript
label_desc: Use image node_id 1 to create a new SGELikeBatchManagerBase object from inherited base classes: DistributedPluginBase with example: obj = SGELikeBatchManagerBase(template, plugin_args)