def METHOD_NAME(self):
    """
    Handle status updates from the streaming subsystem.
    :param status: current status of the streaming pipeline.
    :type status: splitio.push.status_stracker.Status
    """
    while self._push_status_handler_active:
        status = self._queue.get()
        if status == self._CENTINEL_EVENT:
            continue
        if status == Status.PUSH_SUBSYSTEM_UP:
            self._synchronizer.stop_periodic_fetching()
            self._synchronizer.sync_all()
            self._push.update_workers_status(True)
            self._backoff.reset()
            _LOGGER.info('streaming up and running. disabling periodic fetching.')
            self._telemetry_runtime_producer.record_streaming_event((StreamingEventTypes.SYNC_MODE_UPDATE, SSESyncMode.STREAMING.value,  get_current_epoch_time_ms()))
        elif status == Status.PUSH_SUBSYSTEM_DOWN:
            self._push.update_workers_status(False)
            self._synchronizer.sync_all()
            self._synchronizer.start_periodic_fetching()
            _LOGGER.info('streaming temporarily down. starting periodic fetching')
            self._telemetry_runtime_producer.record_streaming_event((StreamingEventTypes.SYNC_MODE_UPDATE, SSESyncMode.POLLING.value,  get_current_epoch_time_ms()))
        elif status == Status.PUSH_RETRYABLE_ERROR:
            self._push.update_workers_status(False)
            self._push.stop(True)
            self._synchronizer.sync_all()
            self._synchronizer.start_periodic_fetching()
            how_long = self._backoff.get()
            _LOGGER.info('error in streaming. restarting flow in %d seconds', how_long)
            time.sleep(how_long)
            self._push.start()
        elif status == Status.PUSH_NONRETRYABLE_ERROR:
            self._push.update_workers_status(False)
            self._push.stop(False)
            self._synchronizer.sync_all()
            self._synchronizer.start_periodic_fetching()
            _LOGGER.info('non-recoverable error in streaming. switching to polling.')
            self._telemetry_runtime_producer.record_streaming_event((StreamingEventTypes.SYNC_MODE_UPDATE, SSESyncMode.POLLING.value,  get_current_epoch_time_ms()))
            return