@Override protected void beforeStart() { super.beforeStart(); jobRetryScheduler = new RetryScheduler<Job>(RetryJobClient.class.getSimpleName(), appContext, FailStorePathBuilder.getJobSubmitFailStorePath(appContext), 10) { protected boolean isRemotingEnable() { return isServerEnable(); } protected boolean retry(List<Job> jobs) { Response response = null; try { // 重试必须走同步,不然会造成文件锁,死锁 response = superSubmitJob(jobs, SubmitType.SYNC); return response.isSuccess(); } catch (Throwable t) { RetryScheduler.LOGGER.error(t.getMessage(), t); } finally { if (response != null && response.isSuccess()) { stat.incSubmitFailStoreNum(jobs.size()); } } return false; } }; jobRetryScheduler.start(); }
@Override protected void beforeStart() { super.beforeStart(); jobRetryScheduler = new RetryScheduler<Job>(RetryJobClient.class.getSimpleName(), appContext, FailStorePathBuilder.getJobSubmitFailStorePath(appContext), 10) { protected boolean isRemotingEnable() { return isServerEnable(); } protected boolean retry(List<Job> jobs) { Response response = null; try { // 重试必须走同步,不然会造成文件锁,死锁 response = superSubmitJob(jobs, SubmitType.SYNC); return response.isSuccess(); } catch (Throwable t) { RetryScheduler.LOGGER.error(t.getMessage(), t); } finally { if (response != null && response.isSuccess()) { stat.incSubmitFailStoreNum(jobs.size()); } } return false; } }; jobRetryScheduler.start(); }
public BizLoggerImpl(Level level, final RemotingClientDelegate remotingClient, TaskTrackerAppContext appContext) { this.level = level; if (this.level == null) { this.level = Level.INFO; } this.appContext = appContext; this.remotingClient = remotingClient; if (isEnableBizLoggerFailStore()) { this.retryScheduler = new RetryScheduler<BizLog>(BizLogger.class.getSimpleName(), appContext, FailStorePathBuilder.getBizLoggerPath(appContext)) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<BizLog> list) { return sendBizLog(list); } }; this.retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }
public BizLoggerImpl(Level level, final RemotingClientDelegate remotingClient, TaskTrackerAppContext appContext) { this.level = level; if (this.level == null) { this.level = Level.INFO; } this.appContext = appContext; this.remotingClient = remotingClient; if (isEnableBizLoggerFailStore()) { this.retryScheduler = new RetryScheduler<BizLog>(BizLogger.class.getSimpleName(), appContext, FailStorePathBuilder.getBizLoggerPath(appContext)) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<BizLog> list) { return sendBizLog(list); } }; this.retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }
protected JobPushProcessor(TaskTrackerAppContext appContext) { super(appContext); this.remotingClient = appContext.getRemotingClient(); // 线程安全的 jobRunnerCallback = new JobRunnerCallback(); if (isEnableFailStore()) { retryScheduler = new RetryScheduler<JobRunResult>(JobPushProcessor.class.getSimpleName(), appContext, FailStorePathBuilder.getJobFeedbackPath(appContext), 3) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<JobRunResult> results) { return retrySendJobResults(results); } }; retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }
protected JobPushProcessor(TaskTrackerAppContext appContext) { super(appContext); this.remotingClient = appContext.getRemotingClient(); // 线程安全的 jobRunnerCallback = new JobRunnerCallback(); if (isEnableFailStore()) { retryScheduler = new RetryScheduler<JobRunResult>(JobPushProcessor.class.getSimpleName(), appContext, FailStorePathBuilder.getJobFeedbackPath(appContext), 3) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<JobRunResult> results) { return retrySendJobResults(results); } }; retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }
@Override protected void beforeStart() { super.beforeStart(); jobRetryScheduler = new RetryScheduler<Job>(RetryJobClient.class.getSimpleName(), appContext, FailStorePathBuilder.getJobSubmitFailStorePath(appContext), 10) { protected boolean isRemotingEnable() { return isServerEnable(); } protected boolean retry(List<Job> jobs) { Response response = null; try { // 重试必须走同步,不然会造成文件锁,死锁 response = superSubmitJob(jobs, SubmitType.SYNC); return response.isSuccess(); } catch (Throwable t) { RetryScheduler.LOGGER.error(t.getMessage(), t); } finally { if (response != null && response.isSuccess()) { stat.incSubmitFailStoreNum(jobs.size()); } } return false; } }; jobRetryScheduler.start(); }
public BizLoggerImpl(Level level, final RemotingClientDelegate remotingClient, TaskTrackerAppContext appContext) { this.level = level; if (this.level == null) { this.level = Level.INFO; } this.appContext = appContext; this.remotingClient = remotingClient; if (isEnableBizLoggerFailStore()) { this.retryScheduler = new RetryScheduler<BizLog>(BizLogger.class.getSimpleName(), appContext, FailStorePathBuilder.getBizLoggerPath(appContext)) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<BizLog> list) { return sendBizLog(list); } }; this.retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }
protected JobPushProcessor(TaskTrackerAppContext appContext) { super(appContext); this.remotingClient = appContext.getRemotingClient(); // 线程安全的 jobRunnerCallback = new JobRunnerCallback(); if (isEnableFailStore()) { retryScheduler = new RetryScheduler<JobRunResult>(JobPushProcessor.class.getSimpleName(), appContext, FailStorePathBuilder.getJobFeedbackPath(appContext), 3) { @Override protected boolean isRemotingEnable() { return remotingClient.isServerEnable(); } @Override protected boolean retry(List<JobRunResult> results) { return retrySendJobResults(results); } }; retryScheduler.start(); NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { retryScheduler.stop(); } }); } }