code: def _request_one_trial_job(self):
          
          if not self.generated_hyper_configs:
              ret = {
                  'parameter_id': '-1_0_0',
                  'parameter_source': 'algorithm',
                  'parameters': ''
              }
              send(CommandType.NoMoreTrialJobs, json_tricks.dumps(ret))
              return
          assert self.generated_hyper_configs
          params = self.generated_hyper_configs.pop()
          ret = {
              'parameter_id': params[0],
              'parameter_source': 'algorithm',
              'parameters': params[1]
          }
          self.parameters[params[0]] = params[1]
          send(CommandType.NewTrialJob, json_tricks.dumps(ret))
          self.credit -= 1
docs: get one trial job, i.e., one hyperparameter configuration.
  
          If this function is called, Command will be sent by BOHB:
          a. If there is a parameter need to run, will return "NewTrialJob" with a dict:
          { 
              'parameter_id': id of new hyperparameter
              'parameter_source': 'algorithm'
              'parameters': value of new hyperparameter
          }
          b. If BOHB don't have parameter waiting, will return "NoMoreTrialJobs" with
          {
              'parameter_id': '-1_0_0',
              'parameter_source': 'algorithm',
              'parameters': ''
          }