code: def start(self):
          
  
          run_by_ui = False
          if not self.current_user.algo:
              # If user connects as a human (CLI execution)
              self._job = Job(self._project.id, self._software.id).save()
              user_job = User().fetch(self._job.userJob)
              self.set_credentials(user_job.publicKey, user_job.privateKey)
          else:
              # If the user executes the job through the Cytomine interface
              self._job = Job().fetch(self.current_user.job)
              run_by_ui = True
  
          # set job state to RUNNING
          self._job.status = Job.RUNNING
          self._job.update()
  
          # add software parameters
          if not run_by_ui and self._parameters is not None:
              parameters = vars(self._parameters)
              for software_param in self._software.parameters:
                  name = software_param["name"]
                  if name in parameters:
                      value = parameters[name]
                  else:
                      value = software_param["defaultParamValue"]
  
                  JobParameter(self._job.id, software_param["id"], value).save()
docs: Connect to the Cytomine server and switch to job connection
          Incurs dataflows