private void retry(StepContext perBodyContext) { body = null; getContext().saveState(); try { perBodyContext.get(TaskListener.class).getLogger().println("Will try again after " + Util.getTimeSpanString(recurrencePeriod)); } catch (Exception x) { getContext().onFailure(x); return; } task = Timer.get().schedule(new Runnable() { @Override public void run() { task = null; body = getContext().newBodyInvoker().withCallback(new Callback(id)).start(); } }, recurrencePeriod, TimeUnit.MILLISECONDS); recurrencePeriod = Math.min((long)(recurrencePeriod * RECURRENCE_PERIOD_BACKOFF), MAX_RECURRENCE_PERIOD); }
filePath.mkdirs(); getContext().saveState(); listener.getLogger().println("Entering watch");