'Service the signal, when necessary.
This method must be called repeatedly by subclasses to update the
state of the signals that require polling, which are the ones based on
Swift temp URLs and Zaqar queues. The "NO_SIGNAL" case is also handled
here by triggering the signal once per call.'

def _service_signal(self):

    if self._signal_transport_temp_url():
        self._service_swift_signal()
    elif self._signal_transport_zaqar():
        self._service_zaqar_signal()
    elif self._signal_transport_none():
        self.signal(details={})
