code: @Override
      public void onOnline(Computer c, TaskListener listener) throws IOException, InterruptedException {
          synchronized(this) {
              future.cancel(false);
              future = Timer.get().schedule(MONITOR_UPDATER, 5, TimeUnit.SECONDS);
          }
      }
docs: Triggers the update with 5 seconds quiet period, to avoid triggering data check too often
  when multiple agents become online at about the same time.