/** * See api/Job.java for complete description * @param jobId String for job ID * @param taskId String for task ID * @throws Exception when failing to send retry. */ public void sendRetry(String jobId, String taskId) throws Exception { openConnections(); ArrayList approvedAdapters = new ArrayList<String>(); LGPayload cmdPayload = new LGPayload(jobId); JSONObject jobConfig = new JSONObject(); JSONArray tasks = new JSONArray(); // So in the future we can support a list of taskIds if (!taskId.equals("")) { tasks.put(taskId); } jobConfig.put("tasks", tasks); cmdPayload.setJobConfig(jobConfig); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_RETRY_FAILED_TASKS, jobId, 100, 255, approvedAdapters, cmdPayload); channel.basicPublish( "" //exchange , LGConstants.LEMONGRENADE_COORDINATORCMD //routing key , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_COMMAND).build() , cmd.toByteArray()); }
/** * See api/Job.java for complete description * @param jobId String job ID * @param reason String reason for reset * */ public void sendReset(String jobId, String reason) throws Exception { openConnections(); ArrayList approvedAdapters = new ArrayList<String>(); LGPayload cmdPayload = new LGPayload(jobId); JSONObject jobConfig = new JSONObject(); jobConfig.put(LGConstants.LG_RESET_REASON, reason); cmdPayload.setJobConfig(jobConfig); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_RESET, jobId, 100, 255, approvedAdapters, cmdPayload); channel.basicPublish("", LGConstants.LEMONGRENADE_COORDINATORCMD , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_COMMAND).build() , cmd.toByteArray()); }
/** */ public void sendCancel(String jobId) throws Exception { openConnections(); ArrayList approvedAdapters = new ArrayList<String>(); LGPayload seedPayload = new LGPayload(jobId); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_STOP, jobId, 100, 255, approvedAdapters, seedPayload); channel.basicPublish("", LGConstants.LEMONGRENADE_COORDINATORCMD , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_COMMAND).build() , cmd.toByteArray()); }
/** * @param jobId LG job ID to send to * @param approvedAdapters List of approved adapter names * @param seedPayload LGPayload for seeding a new job * */ public void sendAddToJobToCommandController(String jobId, ArrayList<String> approvedAdapters, LGPayload seedPayload) throws Exception { openConnections(); int ttl = 0; if (seedPayload.getJobConfig().has("ttl")) { ttl = seedPayload.getJobConfig().getInt("ttl"); } try { LemonGraph.getGraph(jobId); //verify the job already exists in LemonGraph } catch(Exception e) { throw new Exception("job:"+jobId+" doesn't exist. First perform a job create. Error:"+e.getMessage()); } seedPayload.setJobId(jobId); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_ADD, jobId, ttl, 255, approvedAdapters, seedPayload); channel.basicPublish("", LGConstants.LEMONGRENADE_COORDINATORCMD , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_NEW_JOB).build() , cmd.toByteArray()); }
/** * See api/Job.java for complete description * @param jobId LG job ID to send to * @param approvedAdapters List of approved adapter names * @param seedPayload LGPayload to send to Command Controller */ public void sendPostActionCommandController(String jobId, ArrayList<String> approvedAdapters, LGPayload seedPayload) throws Exception { openConnections(); int ttl = 0; if (seedPayload.getJobConfig().has("ttl")) { ttl = seedPayload.getJobConfig().getInt("ttl"); } seedPayload.setJobId(jobId); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_POST_ACTION, jobId, ttl, 255, approvedAdapters, seedPayload); channel.basicPublish("", LGConstants.LEMONGRENADE_COORDINATORCMD , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_NEW_JOB).build() , cmd.toByteArray()); }
public LGJob sendNewJobToCommandController(ArrayList<String> approvedAdapters, LGPayload seedPayload) throws Exception { openConnections(); int ttl = 0; if (seedPayload.getJobConfig().has("ttl")) {