@Override public void afterPropertiesSet() throws Exception { // start the client client.start(); // register the jobs registerJobs(); }
@Override public ShardOperateResp call() throws Exception { return client.getHttp().finishJobInstanceShard(shardFinishDto); } }
@Override public ShardPullResp call() throws Exception { return client.getHttp().pullJobInstanceShard(jobInstanceId); } }
@Override public void doStart(){ // mk app clients path zk.mkdirs(ZkPaths.pathOfAppClients(client.getAppName())); // register client self clientRegister = new ClientRegister(client); clientRegister.start(); // get servers once getServersOnce(); // listen servers listenOnServerChanged(); }
/** * Shutdown the client */ @Override public void doShutdown(){ zk.shutdown(); http.shutdown(); jobManager.shutdown(); jobExecutor.shutdown(); afterShutdown(); log.info("Antares client shutdown finished."); }
@Override public void doStart(){ zk.start(); http.start(); jobExecutor.start(); jobManager.start(); afterStart(); Runtime.getRuntime().addShutdownHook(new Thread(){ @Override public void run() { shutdown(); } }); log.info("Antares client started successfully."); }
@Override public ShardOperateResp call() throws Exception { return client.getHttp().returnJobInstanceShard(instanceId, shardId); } }
@Override public void doStart() { // select a server selectServer(); // init header initHttpHeaders(); }
public SpringAntaresClient(String appName, String appSecret, String zkServers, String zkNamespace){ client = new SimpleAntaresClient(appName, appSecret, zkServers, zkNamespace); }
public void setExecutorThreadCount(Integer executorThreadCount) { client.setExecutorThreadCount(executorThreadCount); }
private Map<String, Object> doPostAsMap(String uri, Map<String, String> headers, Map<String, Object> params, int readTimeout){ return doPostAsMap(currentServer, uri, headers, params, readTimeout); }
@Override public void destroy() throws Exception { client.shutdown(); } }
@Override public void run() { shutdown(); } });
public ZkClient getZk() { return zk.client(); }
public AbstractAntaresClient(String appName, String appSecret, String zkServers, String zkNamespace) { this.appName = appName; this.appSecret = appSecret; this.zkServers = zkServers; this.zkNamespace = Strings.isNullOrEmpty(zkNamespace) ? ZkPaths.DEFAULT_NS : zkNamespace; zk = new AntaresZkAgent(this, zkServers, this.zkNamespace); }
@Override public void doShutdown(){ if (zk != null){ zk.shutdown(); } clientRegister.shutdown(); } }
@Override public void doStart() { executor = Executors.newExecutor(client.getExecutorThreadCount(), 10000, "JOB-EXECUTOR-"); }
@Override protected void onDelete(String path) { String server = ZkPaths.lastNode(path); client.removeHttpServer(server); log.info("The server({}) left.", server); } });
@Override protected Boolean finishShard(ShardFinishDto shardFinishDto, ZkJob zkJob) { ShardOperateResp finishResp = client.getHttp().finishJobInstanceShard(shardFinishDto); if (finishResp.getSuccess()){ return Boolean.TRUE; } if (ShardOperateRespCode.needFinishAgain(finishResp.getCode())){ // TODO need retry to finish again } return Boolean.TRUE; } }
private <T> T doPost(String server, String uri, Map<String, String> headers, Map<String, Object> params, int readTimeout, Class<T> targetType){ Map<String, Object> respMap = doPostAsMap(server, uri, headers, params, readTimeout); if (respMap == null || respMap.isEmpty()){ return null; } return MapUtil.fromMap(respMap, targetType); }