airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shame...@apache.org
Subject [39/53] airavata git commit: Adding aurora-client project
Date Thu, 27 Oct 2016 21:32:32 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/AuroraSchedulerManager.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/AuroraSchedulerManager.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/AuroraSchedulerManager.java
new file mode 100644
index 0000000..19626a8
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/AuroraSchedulerManager.java
@@ -0,0 +1,13395 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.cloud.aurora.client.sdk;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-21")
+public class AuroraSchedulerManager {
+
+  public interface Iface extends ReadOnlyScheduler.Iface {
+
+    /**
+     * Creates a new job.  The request will be denied if a job with the provided name already exists
+     * in the cluster.
+     * 
+     * @param description
+     */
+    public Response createJob(JobConfiguration description) throws org.apache.thrift.TException;
+
+    /**
+     * Enters a job into the cron schedule, without actually starting the job.
+     * If the job is already present in the schedule, this will update the schedule entry with the new
+     * configuration.
+     * 
+     * @param description
+     */
+    public Response scheduleCronJob(JobConfiguration description) throws org.apache.thrift.TException;
+
+    /**
+     * Removes a job from the cron schedule. The request will be denied if the job was not previously
+     * scheduled with scheduleCronJob.
+     * 
+     * @param job
+     */
+    public Response descheduleCronJob(JobKey job) throws org.apache.thrift.TException;
+
+    /**
+     * Starts a cron job immediately.  The request will be denied if the specified job does not
+     * exist for the role account, or the job is not a cron job.
+     * 
+     * @param job
+     */
+    public Response startCronJob(JobKey job) throws org.apache.thrift.TException;
+
+    /**
+     * Restarts a batch of shards.
+     * 
+     * @param job
+     * @param shardIds
+     */
+    public Response restartShards(JobKey job, Set<Integer> shardIds) throws org.apache.thrift.TException;
+
+    /**
+     * Initiates a kill on tasks.
+     * 
+     * @param job
+     * @param instances
+     */
+    public Response killTasks(JobKey job, Set<Integer> instances) throws org.apache.thrift.TException;
+
+    /**
+     * Adds new instances with the TaskConfig of the existing instance pointed by the key.
+     * 
+     * @param key
+     * @param count
+     */
+    public Response addInstances(InstanceKey key, int count) throws org.apache.thrift.TException;
+
+    /**
+     * Replaces the template (configuration) for the existing cron job.
+     * The cron job template (configuration) must exist for the call to succeed.
+     * 
+     * @param config
+     */
+    public Response replaceCronTemplate(JobConfiguration config) throws org.apache.thrift.TException;
+
+    /**
+     * Starts update of the existing service job.
+     * 
+     * @param request A description of how to change the job.
+     * 
+     * @param message A user-specified message to include with the induced job update state change.
+     */
+    public Response startJobUpdate(JobUpdateRequest request, String message) throws org.apache.thrift.TException;
+
+    /**
+     * Pauses the specified job update. Can be resumed by resumeUpdate call.
+     * 
+     * @param key The update to pause.
+     * 
+     * @param message A user-specified message to include with the induced job update state change.
+     */
+    public Response pauseJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException;
+
+    /**
+     * Resumes progress of a previously paused job update.
+     * 
+     * @param key The update to resume.
+     * 
+     * @param message A user-specified message to include with the induced job update state change.
+     */
+    public Response resumeJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException;
+
+    /**
+     * Permanently aborts the job update. Does not remove the update history.
+     * 
+     * @param key The update to abort.
+     * 
+     * @param message A user-specified message to include with the induced job update state change.
+     */
+    public Response abortJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException;
+
+    /**
+     * Rollbacks the specified active job update to the initial state.
+     * 
+     * @param key The update to rollback.
+     * 
+     * @param message A user-specified message to include with the induced job update state change.
+     */
+    public Response rollbackJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException;
+
+    /**
+     * Allows progress of the job update in case blockIfNoPulsesAfterMs is specified in
+     * JobUpdateSettings. Unblocks progress if the update was previously blocked.
+     * Responds with ResponseCode.INVALID_REQUEST in case an unknown update key is specified.
+     * 
+     * @param key
+     */
+    public Response pulseJobUpdate(JobUpdateKey key) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface extends ReadOnlyScheduler .AsyncIface {
+
+    public void createJob(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void scheduleCronJob(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void descheduleCronJob(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void startCronJob(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void restartShards(JobKey job, Set<Integer> shardIds, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void killTasks(JobKey job, Set<Integer> instances, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void addInstances(InstanceKey key, int count, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void replaceCronTemplate(JobConfiguration config, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void startJobUpdate(JobUpdateRequest request, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void pauseJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void resumeJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void abortJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void rollbackJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void pulseJobUpdate(JobUpdateKey key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends ReadOnlyScheduler.Client implements Iface {
+    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+      super(iprot, oprot);
+    }
+
+    public Response createJob(JobConfiguration description) throws org.apache.thrift.TException
+    {
+      send_createJob(description);
+      return recv_createJob();
+    }
+
+    public void send_createJob(JobConfiguration description) throws org.apache.thrift.TException
+    {
+      createJob_args args = new createJob_args();
+      args.setDescription(description);
+      sendBase("createJob", args);
+    }
+
+    public Response recv_createJob() throws org.apache.thrift.TException
+    {
+      createJob_result result = new createJob_result();
+      receiveBase(result, "createJob");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createJob failed: unknown result");
+    }
+
+    public Response scheduleCronJob(JobConfiguration description) throws org.apache.thrift.TException
+    {
+      send_scheduleCronJob(description);
+      return recv_scheduleCronJob();
+    }
+
+    public void send_scheduleCronJob(JobConfiguration description) throws org.apache.thrift.TException
+    {
+      scheduleCronJob_args args = new scheduleCronJob_args();
+      args.setDescription(description);
+      sendBase("scheduleCronJob", args);
+    }
+
+    public Response recv_scheduleCronJob() throws org.apache.thrift.TException
+    {
+      scheduleCronJob_result result = new scheduleCronJob_result();
+      receiveBase(result, "scheduleCronJob");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scheduleCronJob failed: unknown result");
+    }
+
+    public Response descheduleCronJob(JobKey job) throws org.apache.thrift.TException
+    {
+      send_descheduleCronJob(job);
+      return recv_descheduleCronJob();
+    }
+
+    public void send_descheduleCronJob(JobKey job) throws org.apache.thrift.TException
+    {
+      descheduleCronJob_args args = new descheduleCronJob_args();
+      args.setJob(job);
+      sendBase("descheduleCronJob", args);
+    }
+
+    public Response recv_descheduleCronJob() throws org.apache.thrift.TException
+    {
+      descheduleCronJob_result result = new descheduleCronJob_result();
+      receiveBase(result, "descheduleCronJob");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "descheduleCronJob failed: unknown result");
+    }
+
+    public Response startCronJob(JobKey job) throws org.apache.thrift.TException
+    {
+      send_startCronJob(job);
+      return recv_startCronJob();
+    }
+
+    public void send_startCronJob(JobKey job) throws org.apache.thrift.TException
+    {
+      startCronJob_args args = new startCronJob_args();
+      args.setJob(job);
+      sendBase("startCronJob", args);
+    }
+
+    public Response recv_startCronJob() throws org.apache.thrift.TException
+    {
+      startCronJob_result result = new startCronJob_result();
+      receiveBase(result, "startCronJob");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "startCronJob failed: unknown result");
+    }
+
+    public Response restartShards(JobKey job, Set<Integer> shardIds) throws org.apache.thrift.TException
+    {
+      send_restartShards(job, shardIds);
+      return recv_restartShards();
+    }
+
+    public void send_restartShards(JobKey job, Set<Integer> shardIds) throws org.apache.thrift.TException
+    {
+      restartShards_args args = new restartShards_args();
+      args.setJob(job);
+      args.setShardIds(shardIds);
+      sendBase("restartShards", args);
+    }
+
+    public Response recv_restartShards() throws org.apache.thrift.TException
+    {
+      restartShards_result result = new restartShards_result();
+      receiveBase(result, "restartShards");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "restartShards failed: unknown result");
+    }
+
+    public Response killTasks(JobKey job, Set<Integer> instances) throws org.apache.thrift.TException
+    {
+      send_killTasks(job, instances);
+      return recv_killTasks();
+    }
+
+    public void send_killTasks(JobKey job, Set<Integer> instances) throws org.apache.thrift.TException
+    {
+      killTasks_args args = new killTasks_args();
+      args.setJob(job);
+      args.setInstances(instances);
+      sendBase("killTasks", args);
+    }
+
+    public Response recv_killTasks() throws org.apache.thrift.TException
+    {
+      killTasks_result result = new killTasks_result();
+      receiveBase(result, "killTasks");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "killTasks failed: unknown result");
+    }
+
+    public Response addInstances(InstanceKey key, int count) throws org.apache.thrift.TException
+    {
+      send_addInstances(key, count);
+      return recv_addInstances();
+    }
+
+    public void send_addInstances(InstanceKey key, int count) throws org.apache.thrift.TException
+    {
+      addInstances_args args = new addInstances_args();
+      args.setKey(key);
+      args.setCount(count);
+      sendBase("addInstances", args);
+    }
+
+    public Response recv_addInstances() throws org.apache.thrift.TException
+    {
+      addInstances_result result = new addInstances_result();
+      receiveBase(result, "addInstances");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addInstances failed: unknown result");
+    }
+
+    public Response replaceCronTemplate(JobConfiguration config) throws org.apache.thrift.TException
+    {
+      send_replaceCronTemplate(config);
+      return recv_replaceCronTemplate();
+    }
+
+    public void send_replaceCronTemplate(JobConfiguration config) throws org.apache.thrift.TException
+    {
+      replaceCronTemplate_args args = new replaceCronTemplate_args();
+      args.setConfig(config);
+      sendBase("replaceCronTemplate", args);
+    }
+
+    public Response recv_replaceCronTemplate() throws org.apache.thrift.TException
+    {
+      replaceCronTemplate_result result = new replaceCronTemplate_result();
+      receiveBase(result, "replaceCronTemplate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "replaceCronTemplate failed: unknown result");
+    }
+
+    public Response startJobUpdate(JobUpdateRequest request, String message) throws org.apache.thrift.TException
+    {
+      send_startJobUpdate(request, message);
+      return recv_startJobUpdate();
+    }
+
+    public void send_startJobUpdate(JobUpdateRequest request, String message) throws org.apache.thrift.TException
+    {
+      startJobUpdate_args args = new startJobUpdate_args();
+      args.setRequest(request);
+      args.setMessage(message);
+      sendBase("startJobUpdate", args);
+    }
+
+    public Response recv_startJobUpdate() throws org.apache.thrift.TException
+    {
+      startJobUpdate_result result = new startJobUpdate_result();
+      receiveBase(result, "startJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "startJobUpdate failed: unknown result");
+    }
+
+    public Response pauseJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      send_pauseJobUpdate(key, message);
+      return recv_pauseJobUpdate();
+    }
+
+    public void send_pauseJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      pauseJobUpdate_args args = new pauseJobUpdate_args();
+      args.setKey(key);
+      args.setMessage(message);
+      sendBase("pauseJobUpdate", args);
+    }
+
+    public Response recv_pauseJobUpdate() throws org.apache.thrift.TException
+    {
+      pauseJobUpdate_result result = new pauseJobUpdate_result();
+      receiveBase(result, "pauseJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "pauseJobUpdate failed: unknown result");
+    }
+
+    public Response resumeJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      send_resumeJobUpdate(key, message);
+      return recv_resumeJobUpdate();
+    }
+
+    public void send_resumeJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      resumeJobUpdate_args args = new resumeJobUpdate_args();
+      args.setKey(key);
+      args.setMessage(message);
+      sendBase("resumeJobUpdate", args);
+    }
+
+    public Response recv_resumeJobUpdate() throws org.apache.thrift.TException
+    {
+      resumeJobUpdate_result result = new resumeJobUpdate_result();
+      receiveBase(result, "resumeJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "resumeJobUpdate failed: unknown result");
+    }
+
+    public Response abortJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      send_abortJobUpdate(key, message);
+      return recv_abortJobUpdate();
+    }
+
+    public void send_abortJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      abortJobUpdate_args args = new abortJobUpdate_args();
+      args.setKey(key);
+      args.setMessage(message);
+      sendBase("abortJobUpdate", args);
+    }
+
+    public Response recv_abortJobUpdate() throws org.apache.thrift.TException
+    {
+      abortJobUpdate_result result = new abortJobUpdate_result();
+      receiveBase(result, "abortJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "abortJobUpdate failed: unknown result");
+    }
+
+    public Response rollbackJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      send_rollbackJobUpdate(key, message);
+      return recv_rollbackJobUpdate();
+    }
+
+    public void send_rollbackJobUpdate(JobUpdateKey key, String message) throws org.apache.thrift.TException
+    {
+      rollbackJobUpdate_args args = new rollbackJobUpdate_args();
+      args.setKey(key);
+      args.setMessage(message);
+      sendBase("rollbackJobUpdate", args);
+    }
+
+    public Response recv_rollbackJobUpdate() throws org.apache.thrift.TException
+    {
+      rollbackJobUpdate_result result = new rollbackJobUpdate_result();
+      receiveBase(result, "rollbackJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "rollbackJobUpdate failed: unknown result");
+    }
+
+    public Response pulseJobUpdate(JobUpdateKey key) throws org.apache.thrift.TException
+    {
+      send_pulseJobUpdate(key);
+      return recv_pulseJobUpdate();
+    }
+
+    public void send_pulseJobUpdate(JobUpdateKey key) throws org.apache.thrift.TException
+    {
+      pulseJobUpdate_args args = new pulseJobUpdate_args();
+      args.setKey(key);
+      sendBase("pulseJobUpdate", args);
+    }
+
+    public Response recv_pulseJobUpdate() throws org.apache.thrift.TException
+    {
+      pulseJobUpdate_result result = new pulseJobUpdate_result();
+      receiveBase(result, "pulseJobUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "pulseJobUpdate failed: unknown result");
+    }
+
+  }
+  public static class AsyncClient extends ReadOnlyScheduler.AsyncClient implements AsyncIface {
+    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
+    }
+
+    public void createJob(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createJob_call method_call = new createJob_call(description, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createJob_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobConfiguration description;
+      public createJob_call(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.description = description;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createJob_args args = new createJob_args();
+        args.setDescription(description);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_createJob();
+      }
+    }
+
+    public void scheduleCronJob(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      scheduleCronJob_call method_call = new scheduleCronJob_call(description, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class scheduleCronJob_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobConfiguration description;
+      public scheduleCronJob_call(JobConfiguration description, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.description = description;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("scheduleCronJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        scheduleCronJob_args args = new scheduleCronJob_args();
+        args.setDescription(description);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_scheduleCronJob();
+      }
+    }
+
+    public void descheduleCronJob(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      descheduleCronJob_call method_call = new descheduleCronJob_call(job, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class descheduleCronJob_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobKey job;
+      public descheduleCronJob_call(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.job = job;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("descheduleCronJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        descheduleCronJob_args args = new descheduleCronJob_args();
+        args.setJob(job);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_descheduleCronJob();
+      }
+    }
+
+    public void startCronJob(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      startCronJob_call method_call = new startCronJob_call(job, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class startCronJob_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobKey job;
+      public startCronJob_call(JobKey job, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.job = job;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startCronJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        startCronJob_args args = new startCronJob_args();
+        args.setJob(job);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_startCronJob();
+      }
+    }
+
+    public void restartShards(JobKey job, Set<Integer> shardIds, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      restartShards_call method_call = new restartShards_call(job, shardIds, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class restartShards_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobKey job;
+      private Set<Integer> shardIds;
+      public restartShards_call(JobKey job, Set<Integer> shardIds, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.job = job;
+        this.shardIds = shardIds;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("restartShards", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        restartShards_args args = new restartShards_args();
+        args.setJob(job);
+        args.setShardIds(shardIds);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_restartShards();
+      }
+    }
+
+    public void killTasks(JobKey job, Set<Integer> instances, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      killTasks_call method_call = new killTasks_call(job, instances, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class killTasks_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobKey job;
+      private Set<Integer> instances;
+      public killTasks_call(JobKey job, Set<Integer> instances, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.job = job;
+        this.instances = instances;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("killTasks", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        killTasks_args args = new killTasks_args();
+        args.setJob(job);
+        args.setInstances(instances);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_killTasks();
+      }
+    }
+
+    public void addInstances(InstanceKey key, int count, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addInstances_call method_call = new addInstances_call(key, count, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addInstances_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private InstanceKey key;
+      private int count;
+      public addInstances_call(InstanceKey key, int count, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+        this.count = count;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addInstances", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addInstances_args args = new addInstances_args();
+        args.setKey(key);
+        args.setCount(count);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_addInstances();
+      }
+    }
+
+    public void replaceCronTemplate(JobConfiguration config, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      replaceCronTemplate_call method_call = new replaceCronTemplate_call(config, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class replaceCronTemplate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobConfiguration config;
+      public replaceCronTemplate_call(JobConfiguration config, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.config = config;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("replaceCronTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        replaceCronTemplate_args args = new replaceCronTemplate_args();
+        args.setConfig(config);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_replaceCronTemplate();
+      }
+    }
+
+    public void startJobUpdate(JobUpdateRequest request, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      startJobUpdate_call method_call = new startJobUpdate_call(request, message, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class startJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateRequest request;
+      private String message;
+      public startJobUpdate_call(JobUpdateRequest request, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.request = request;
+        this.message = message;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        startJobUpdate_args args = new startJobUpdate_args();
+        args.setRequest(request);
+        args.setMessage(message);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_startJobUpdate();
+      }
+    }
+
+    public void pauseJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      pauseJobUpdate_call method_call = new pauseJobUpdate_call(key, message, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class pauseJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateKey key;
+      private String message;
+      public pauseJobUpdate_call(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+        this.message = message;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("pauseJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        pauseJobUpdate_args args = new pauseJobUpdate_args();
+        args.setKey(key);
+        args.setMessage(message);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_pauseJobUpdate();
+      }
+    }
+
+    public void resumeJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      resumeJobUpdate_call method_call = new resumeJobUpdate_call(key, message, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class resumeJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateKey key;
+      private String message;
+      public resumeJobUpdate_call(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+        this.message = message;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("resumeJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        resumeJobUpdate_args args = new resumeJobUpdate_args();
+        args.setKey(key);
+        args.setMessage(message);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_resumeJobUpdate();
+      }
+    }
+
+    public void abortJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      abortJobUpdate_call method_call = new abortJobUpdate_call(key, message, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class abortJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateKey key;
+      private String message;
+      public abortJobUpdate_call(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+        this.message = message;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("abortJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        abortJobUpdate_args args = new abortJobUpdate_args();
+        args.setKey(key);
+        args.setMessage(message);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_abortJobUpdate();
+      }
+    }
+
+    public void rollbackJobUpdate(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      rollbackJobUpdate_call method_call = new rollbackJobUpdate_call(key, message, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class rollbackJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateKey key;
+      private String message;
+      public rollbackJobUpdate_call(JobUpdateKey key, String message, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+        this.message = message;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("rollbackJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        rollbackJobUpdate_args args = new rollbackJobUpdate_args();
+        args.setKey(key);
+        args.setMessage(message);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_rollbackJobUpdate();
+      }
+    }
+
+    public void pulseJobUpdate(JobUpdateKey key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      pulseJobUpdate_call method_call = new pulseJobUpdate_call(key, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class pulseJobUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private JobUpdateKey key;
+      public pulseJobUpdate_call(JobUpdateKey key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.key = key;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("pulseJobUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        pulseJobUpdate_args args = new pulseJobUpdate_args();
+        args.setKey(key);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Response getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_pulseJobUpdate();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends ReadOnlyScheduler.Processor<I> implements org.apache.thrift.TProcessor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("createJob", new createJob());
+      processMap.put("scheduleCronJob", new scheduleCronJob());
+      processMap.put("descheduleCronJob", new descheduleCronJob());
+      processMap.put("startCronJob", new startCronJob());
+      processMap.put("restartShards", new restartShards());
+      processMap.put("killTasks", new killTasks());
+      processMap.put("addInstances", new addInstances());
+      processMap.put("replaceCronTemplate", new replaceCronTemplate());
+      processMap.put("startJobUpdate", new startJobUpdate());
+      processMap.put("pauseJobUpdate", new pauseJobUpdate());
+      processMap.put("resumeJobUpdate", new resumeJobUpdate());
+      processMap.put("abortJobUpdate", new abortJobUpdate());
+      processMap.put("rollbackJobUpdate", new rollbackJobUpdate());
+      processMap.put("pulseJobUpdate", new pulseJobUpdate());
+      return processMap;
+    }
+
+    public static class createJob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createJob_args> {
+      public createJob() {
+        super("createJob");
+      }
+
+      public createJob_args getEmptyArgsInstance() {
+        return new createJob_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public createJob_result getResult(I iface, createJob_args args) throws org.apache.thrift.TException {
+        createJob_result result = new createJob_result();
+        result.success = iface.createJob(args.description);
+        return result;
+      }
+    }
+
+    public static class scheduleCronJob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, scheduleCronJob_args> {
+      public scheduleCronJob() {
+        super("scheduleCronJob");
+      }
+
+      public scheduleCronJob_args getEmptyArgsInstance() {
+        return new scheduleCronJob_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public scheduleCronJob_result getResult(I iface, scheduleCronJob_args args) throws org.apache.thrift.TException {
+        scheduleCronJob_result result = new scheduleCronJob_result();
+        result.success = iface.scheduleCronJob(args.description);
+        return result;
+      }
+    }
+
+    public static class descheduleCronJob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, descheduleCronJob_args> {
+      public descheduleCronJob() {
+        super("descheduleCronJob");
+      }
+
+      public descheduleCronJob_args getEmptyArgsInstance() {
+        return new descheduleCronJob_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public descheduleCronJob_result getResult(I iface, descheduleCronJob_args args) throws org.apache.thrift.TException {
+        descheduleCronJob_result result = new descheduleCronJob_result();
+        result.success = iface.descheduleCronJob(args.job);
+        return result;
+      }
+    }
+
+    public static class startCronJob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startCronJob_args> {
+      public startCronJob() {
+        super("startCronJob");
+      }
+
+      public startCronJob_args getEmptyArgsInstance() {
+        return new startCronJob_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public startCronJob_result getResult(I iface, startCronJob_args args) throws org.apache.thrift.TException {
+        startCronJob_result result = new startCronJob_result();
+        result.success = iface.startCronJob(args.job);
+        return result;
+      }
+    }
+
+    public static class restartShards<I extends Iface> extends org.apache.thrift.ProcessFunction<I, restartShards_args> {
+      public restartShards() {
+        super("restartShards");
+      }
+
+      public restartShards_args getEmptyArgsInstance() {
+        return new restartShards_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public restartShards_result getResult(I iface, restartShards_args args) throws org.apache.thrift.TException {
+        restartShards_result result = new restartShards_result();
+        result.success = iface.restartShards(args.job, args.shardIds);
+        return result;
+      }
+    }
+
+    public static class killTasks<I extends Iface> extends org.apache.thrift.ProcessFunction<I, killTasks_args> {
+      public killTasks() {
+        super("killTasks");
+      }
+
+      public killTasks_args getEmptyArgsInstance() {
+        return new killTasks_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public killTasks_result getResult(I iface, killTasks_args args) throws org.apache.thrift.TException {
+        killTasks_result result = new killTasks_result();
+        result.success = iface.killTasks(args.job, args.instances);
+        return result;
+      }
+    }
+
+    public static class addInstances<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addInstances_args> {
+      public addInstances() {
+        super("addInstances");
+      }
+
+      public addInstances_args getEmptyArgsInstance() {
+        return new addInstances_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addInstances_result getResult(I iface, addInstances_args args) throws org.apache.thrift.TException {
+        addInstances_result result = new addInstances_result();
+        result.success = iface.addInstances(args.key, args.count);
+        return result;
+      }
+    }
+
+    public static class replaceCronTemplate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, replaceCronTemplate_args> {
+      public replaceCronTemplate() {
+        super("replaceCronTemplate");
+      }
+
+      public replaceCronTemplate_args getEmptyArgsInstance() {
+        return new replaceCronTemplate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public replaceCronTemplate_result getResult(I iface, replaceCronTemplate_args args) throws org.apache.thrift.TException {
+        replaceCronTemplate_result result = new replaceCronTemplate_result();
+        result.success = iface.replaceCronTemplate(args.config);
+        return result;
+      }
+    }
+
+    public static class startJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startJobUpdate_args> {
+      public startJobUpdate() {
+        super("startJobUpdate");
+      }
+
+      public startJobUpdate_args getEmptyArgsInstance() {
+        return new startJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public startJobUpdate_result getResult(I iface, startJobUpdate_args args) throws org.apache.thrift.TException {
+        startJobUpdate_result result = new startJobUpdate_result();
+        result.success = iface.startJobUpdate(args.request, args.message);
+        return result;
+      }
+    }
+
+    public static class pauseJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, pauseJobUpdate_args> {
+      public pauseJobUpdate() {
+        super("pauseJobUpdate");
+      }
+
+      public pauseJobUpdate_args getEmptyArgsInstance() {
+        return new pauseJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public pauseJobUpdate_result getResult(I iface, pauseJobUpdate_args args) throws org.apache.thrift.TException {
+        pauseJobUpdate_result result = new pauseJobUpdate_result();
+        result.success = iface.pauseJobUpdate(args.key, args.message);
+        return result;
+      }
+    }
+
+    public static class resumeJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, resumeJobUpdate_args> {
+      public resumeJobUpdate() {
+        super("resumeJobUpdate");
+      }
+
+      public resumeJobUpdate_args getEmptyArgsInstance() {
+        return new resumeJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public resumeJobUpdate_result getResult(I iface, resumeJobUpdate_args args) throws org.apache.thrift.TException {
+        resumeJobUpdate_result result = new resumeJobUpdate_result();
+        result.success = iface.resumeJobUpdate(args.key, args.message);
+        return result;
+      }
+    }
+
+    public static class abortJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, abortJobUpdate_args> {
+      public abortJobUpdate() {
+        super("abortJobUpdate");
+      }
+
+      public abortJobUpdate_args getEmptyArgsInstance() {
+        return new abortJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public abortJobUpdate_result getResult(I iface, abortJobUpdate_args args) throws org.apache.thrift.TException {
+        abortJobUpdate_result result = new abortJobUpdate_result();
+        result.success = iface.abortJobUpdate(args.key, args.message);
+        return result;
+      }
+    }
+
+    public static class rollbackJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, rollbackJobUpdate_args> {
+      public rollbackJobUpdate() {
+        super("rollbackJobUpdate");
+      }
+
+      public rollbackJobUpdate_args getEmptyArgsInstance() {
+        return new rollbackJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public rollbackJobUpdate_result getResult(I iface, rollbackJobUpdate_args args) throws org.apache.thrift.TException {
+        rollbackJobUpdate_result result = new rollbackJobUpdate_result();
+        result.success = iface.rollbackJobUpdate(args.key, args.message);
+        return result;
+      }
+    }
+
+    public static class pulseJobUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, pulseJobUpdate_args> {
+      public pulseJobUpdate() {
+        super("pulseJobUpdate");
+      }
+
+      public pulseJobUpdate_args getEmptyArgsInstance() {
+        return new pulseJobUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public pulseJobUpdate_result getResult(I iface, pulseJobUpdate_args args) throws org.apache.thrift.TException {
+        pulseJobUpdate_result result = new pulseJobUpdate_result();
+        result.success = iface.pulseJobUpdate(args.key);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends ReadOnlyScheduler.AsyncProcessor<I> {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("createJob", new createJob());
+      processMap.put("scheduleCronJob", new scheduleCronJob());
+      processMap.put("descheduleCronJob", new descheduleCronJob());
+      processMap.put("startCronJob", new startCronJob());
+      processMap.put("restartShards", new restartShards());
+      processMap.put("killTasks", new killTasks());
+      processMap.put("addInstances", new addInstances());
+      processMap.put("replaceCronTemplate", new replaceCronTemplate());
+      processMap.put("startJobUpdate", new startJobUpdate());
+      processMap.put("pauseJobUpdate", new pauseJobUpdate());
+      processMap.put("resumeJobUpdate", new resumeJobUpdate());
+      processMap.put("abortJobUpdate", new abortJobUpdate());
+      processMap.put("rollbackJobUpdate", new rollbackJobUpdate());
+      processMap.put("pulseJobUpdate", new pulseJobUpdate());
+      return processMap;
+    }
+
+    public static class createJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createJob_args, Response> {
+      public createJob() {
+        super("createJob");
+      }
+
+      public createJob_args getEmptyArgsInstance() {
+        return new createJob_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            createJob_result result = new createJob_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            createJob_result result = new createJob_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, createJob_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.createJob(args.description,resultHandler);
+      }
+    }
+
+    public static class scheduleCronJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scheduleCronJob_args, Response> {
+      public scheduleCronJob() {
+        super("scheduleCronJob");
+      }
+
+      public scheduleCronJob_args getEmptyArgsInstance() {
+        return new scheduleCronJob_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            scheduleCronJob_result result = new scheduleCronJob_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            scheduleCronJob_result result = new scheduleCronJob_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, scheduleCronJob_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.scheduleCronJob(args.description,resultHandler);
+      }
+    }
+
+    public static class descheduleCronJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, descheduleCronJob_args, Response> {
+      public descheduleCronJob() {
+        super("descheduleCronJob");
+      }
+
+      public descheduleCronJob_args getEmptyArgsInstance() {
+        return new descheduleCronJob_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            descheduleCronJob_result result = new descheduleCronJob_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            descheduleCronJob_result result = new descheduleCronJob_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, descheduleCronJob_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.descheduleCronJob(args.job,resultHandler);
+      }
+    }
+
+    public static class startCronJob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startCronJob_args, Response> {
+      public startCronJob() {
+        super("startCronJob");
+      }
+
+      public startCronJob_args getEmptyArgsInstance() {
+        return new startCronJob_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            startCronJob_result result = new startCronJob_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            startCronJob_result result = new startCronJob_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, startCronJob_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.startCronJob(args.job,resultHandler);
+      }
+    }
+
+    public static class restartShards<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, restartShards_args, Response> {
+      public restartShards() {
+        super("restartShards");
+      }
+
+      public restartShards_args getEmptyArgsInstance() {
+        return new restartShards_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            restartShards_result result = new restartShards_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            restartShards_result result = new restartShards_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, restartShards_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.restartShards(args.job, args.shardIds,resultHandler);
+      }
+    }
+
+    public static class killTasks<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, killTasks_args, Response> {
+      public killTasks() {
+        super("killTasks");
+      }
+
+      public killTasks_args getEmptyArgsInstance() {
+        return new killTasks_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            killTasks_result result = new killTasks_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            killTasks_result result = new killTasks_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, killTasks_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.killTasks(args.job, args.instances,resultHandler);
+      }
+    }
+
+    public static class addInstances<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addInstances_args, Response> {
+      public addInstances() {
+        super("addInstances");
+      }
+
+      public addInstances_args getEmptyArgsInstance() {
+        return new addInstances_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            addInstances_result result = new addInstances_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            addInstances_result result = new addInstances_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, addInstances_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.addInstances(args.key, args.count,resultHandler);
+      }
+    }
+
+    public static class replaceCronTemplate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, replaceCronTemplate_args, Response> {
+      public replaceCronTemplate() {
+        super("replaceCronTemplate");
+      }
+
+      public replaceCronTemplate_args getEmptyArgsInstance() {
+        return new replaceCronTemplate_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            replaceCronTemplate_result result = new replaceCronTemplate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            replaceCronTemplate_result result = new replaceCronTemplate_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, replaceCronTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.replaceCronTemplate(args.config,resultHandler);
+      }
+    }
+
+    public static class startJobUpdate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startJobUpdate_args, Response> {
+      public startJobUpdate() {
+        super("startJobUpdate");
+      }
+
+      public startJobUpdate_args getEmptyArgsInstance() {
+        return new startJobUpdate_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            startJobUpdate_result result = new startJobUpdate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            startJobUpdate_result result = new startJobUpdate_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, startJobUpdate_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.startJobUpdate(args.request, args.message,resultHandler);
+      }
+    }
+
+    public static class pauseJobUpdate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, pauseJobUpdate_args, Response> {
+      public pauseJobUpdate() {
+        super("pauseJobUpdate");
+      }
+
+      public pauseJobUpdate_args getEmptyArgsInstance() {
+        return new pauseJobUpdate_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            pauseJobUpdate_result result = new pauseJobUpdate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            pauseJobUpdate_result result = new pauseJobUpdate_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, pauseJobUpdate_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.pauseJobUpdate(args.key, args.message,resultHandler);
+      }
+    }
+
+    public static class resumeJobUpdate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, resumeJobUpdate_args, Response> {
+      public resumeJobUpdate() {
+        super("resumeJobUpdate");
+      }
+
+      public resumeJobUpdate_args getEmptyArgsInstance() {
+        return new resumeJobUpdate_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            resumeJobUpdate_result result = new resumeJobUpdate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            resumeJobUpdate_result result = new resumeJobUpdate_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, resumeJobUpdate_args args, org.apache.thrift.async.AsyncMethodCallback<Response> resultHandler) throws TException {
+        iface.resumeJobUpdate(args.key, args.message,resultHandler);
+      }
+    }
+
+    public static class abortJobUpdate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, abortJobUpdate_args, Response> {
+      public abortJobUpdate() {
+        super("abortJobUpdate");
+      }
+
+      public abortJobUpdate_args getEmptyArgsInstance() {
+        return new abortJobUpdate_args();
+      }
+
+      public AsyncMethodCallback<Response> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Response>() { 
+          public void onComplete(Response o) {
+            abortJobUpdate_result result = new abortJobUpdate_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            abortJobUpdate_result result = new abortJobUpdate_result();
+            {
+            

<TRUNCATED>

Mime
View raw message