code: public Optional<String> startAsyncJob(String jobType) {
          try {
              final JobRunnable jobRunnable = findJobRunnable(jobType);
              final JobInfo jobInfo = createJobInfo(jobType);
              jobMetaService.aquireRunLock(jobInfo.getJobId(), jobInfo.getJobType());
              jobRepository.createOrUpdate(jobInfo);
              return Optional.of(startAsync(metered(jobRunnable), jobInfo.getJobId()));
          } catch (JobBlockedException e) {
              LOG.info(e.getMessage());
              return Optional.empty();
          }
      }
docs: Starts a job asynchronously in the background.
  
  @param jobType the type of the job
  @return the URI under which you can retrieve the status about the triggered job instance