code: def _schedule_ad(self, delay=None, response_future=None):
          
          if not self.running:
              return
  
          if delay is None:
              delay = self.interval_secs
  
          delay += random.uniform(0, self.interval_max_jitter_secs)
          self._next_ad = self.io_loop.call_later(delay, self._ad,
                                                  response_future)
docs: Schedules an ``ad`` request.
  
          :param delay:
              Time in seconds to wait before making the ``ad`` request. Defaults
              to self.interval_secs. Regardless of value, a jitter of
              self.interval_max_jitter_secs is applied to this.
          :param response_future:
              If non-None, the result of the advertise request is filled into
              this future.