/** * Enable the job, will start to scheduling the job * @param jobId the job id * @return the enable result */ @RequestMapping(value = "/{jobId}/enable", method = RequestMethod.POST) public JsonResponse enableJob(@PathVariable("jobId") Long jobId){ // enable the job Response<Boolean> enableResp = jobService.enableJob(jobId); if (!enableResp.isSuccess()){ return JsonResponse.notOk(messages.get(enableResp.getErr())); } // try to scheduling the job Response<Boolean> schedulingResp = serverService.scheduleJobIfPossible(jobId); if (!schedulingResp.isSuccess() || !schedulingResp.getData()){ return JsonResponse.notOk(messages.get(schedulingResp.getErr())); } return JsonResponse.ok(); }
/** * Save the job * @param jobEditDto the job edit dto * @return true or false */ @RequestMapping(method = RequestMethod.POST) public JsonResponse saveJob(@RequestBody JobEditDto jobEditDto){ if (!Crons.isValidExpression(jobEditDto.getCron())){ return JsonResponse.notOk(messages.get("job.cron.invalid")); } Response<Long> saveResp = jobService.saveJob(jobEditDto); if(!saveResp.isSuccess()){ return JsonResponse.notOk(messages.get(saveResp.getErr())); } Response<Boolean> opResp; if (jobEditDto.getStatus()){ // try to enable the job opResp = serverService.scheduleJobIfPossible(saveResp.getData()); } else { // try to disable the job opResp = serverService.removeJob(saveResp.getData()); } if (!opResp.isSuccess() || !opResp.getData()){ return JsonResponse.notOk(messages.get(opResp.getErr())); } return JsonResponse.ok(opResp.getData()); }