code: function(opt) {
      if (!opt.hasOwnProperty('id')) {
          throw ("Job constructor must be provided an uuid");
      }
      if (this.debugBool) {
          console.log("JOB OPTION CONTENT\n");
          console.dir(opt);
      }
      Core.call(this, opt);
      this.engineHeader = opt.engineHeader;
      this.submitBin = opt.submitBin;
      this.cmd = 'cmd' in opt ? opt.cmd : null; //the set of shell command to sbatch
      this.script = 'script' in opt ? opt.script : null; //the shell script to sbatch
      this.exportVar = 'exportVar' in opt ? opt.exportVar : null; //the shell script variable to export
      this.inputs = 'inputs' in opt ? opt.inputs : null; //the set inputs to copy in the $CWD/input folder
      this.tagTask = 'tagTask' in opt ? opt.tagTask : null;
  
      this.emulated = 'emulated' in opt ? opt.emulated ? true : false : false;
  
      this.port = opt.port;
      this.adress = opt.adress;
      this.workDir = opt.workDir;
      this.namespace = opt.namespace ? opt.namespace : null;
  
      this.cwd = 'cwd' in opt ? opt.cwd : null;
      this.cwdClone = 'cwdClone' in opt ? opt.cwdClone : false;
      this.ttl = 'ttl' in opt ? opt.ttl : null;
      this.ERR_jokers = 3; //  Number of time a job is allowed to be resubmitted if its stderr is non null
      this.MIA_jokers = 3; //  Number of time a job is allowed to not be found in the squeue
      this.modules = 'modules' in opt ? opt.modules : []; //the set of module to load
  
      this.debugBool = 'debugMode' in opt ? opt.debugMode : false;
      this.inputSymbols = {};
  }
docs: /*Job Class
  sbatch parameters control
  
  NB: the detection of the "end" event is delegate to the UDP_port listener by jobManager
  
  TODO
  
   /* Job constructor