示例#1
0
    def __init__(self,
                 context,
                 name,
                 zmq_socket,
                 realtime_proxies_configuration=[]):
        self.geom = None
        self._sockets = queue.Queue()
        self.socket_path = zmq_socket
        self._scenario = None
        self._scenario_name = None
        self.nb_created_socket = 0
        self.lock = Lock()
        self.context = context
        self.name = name
        self.timezone = None  # timezone will be fetched from the kraken
        self.publication_date = -1
        self.is_up = True
        self.breaker = pybreaker.CircuitBreaker(
            fail_max=app.config['CIRCUIT_BREAKER_MAX_INSTANCE_FAIL'],
            reset_timeout=app.config['CIRCUIT_BREAKER_INSTANCE_TIMEOUT_S'])
        self.georef = georef.Kraken(self)
        self.planner = planner.Kraken(self)

        self.schedule = schedule.MixedSchedule(self)
        self.realtime_proxy_manager = realtime_schedule.RealtimeProxyManager(
            realtime_proxies_configuration)
        from jormungandr.autocomplete.kraken import Kraken
        self.autocomplete = Kraken()
示例#2
0
    def __init__(
        self,
        context,
        name,
        zmq_socket,
        street_network_configurations,
        ridesharing_configurations,
        realtime_proxies_configuration,
        zmq_socket_type,
        autocomplete_type,
    ):
        self.geom = None
        self._sockets = deque()
        self.socket_path = zmq_socket
        self._scenario = None
        self._scenario_name = None
        self.lock = Lock()
        self.context = context
        self.name = name
        self.timezone = None  # timezone will be fetched from the kraken
        self.publication_date = -1
        self.is_initialized = False  # kraken hasn't been called yet we don't have geom nor timezone
        self.breaker = pybreaker.CircuitBreaker(
            fail_max=app.config['CIRCUIT_BREAKER_MAX_INSTANCE_FAIL'],
            reset_timeout=app.config['CIRCUIT_BREAKER_INSTANCE_TIMEOUT_S'],
        )
        self.georef = georef.Kraken(self)
        self.planner = planner.Kraken(self)

        street_network_configurations = _set_default_street_network_config(
            street_network_configurations)
        self.street_network_services = street_network.StreetNetwork.get_street_network_services(
            self, street_network_configurations)
        self.ridesharing_services = []
        if ridesharing_configurations is not None:
            self.ridesharing_services = ridesharing_service.Ridesharing.get_ridesharing_services(
                self, ridesharing_configurations)

        self.ptref = ptref.PtRef(self)

        self.schedule = schedule.MixedSchedule(self)
        self.realtime_proxy_manager = realtime_schedule.RealtimeProxyManager(
            realtime_proxies_configuration, self)

        self._autocomplete_type = autocomplete_type
        if self._autocomplete_type is not None and self._autocomplete_type not in global_autocomplete:
            raise RuntimeError('impossible to find autocomplete system {} '
                               'cannot initialize instance {}'.format(
                                   autocomplete_type, name))

        self.zmq_socket_type = zmq_socket_type
示例#3
0
    def __init__(
        self,
        context,  # type: zmq.Context
        name,  # type: Text
        zmq_socket,  # type: Text
        street_network_configurations,
        ridesharing_configurations,
        realtime_proxies_configuration,
        zmq_socket_type,
        autocomplete_type,
        instance_equipment_providers,  # type: List[Text]
        streetnetwork_backend_manager,
    ):
        self.geom = None
        self.geojson = None
        self._sockets = deque()
        self.socket_path = zmq_socket
        self._scenario = None
        self._scenario_name = None
        self.lock = Lock()
        self.context = context
        self.name = name
        self.timezone = None  # timezone will be fetched from the kraken
        self.publication_date = -1
        self.is_initialized = False  # kraken hasn't been called yet we don't have geom nor timezone
        self.breaker = pybreaker.CircuitBreaker(
            fail_max=app.config.get(str('CIRCUIT_BREAKER_MAX_INSTANCE_FAIL'),
                                    5),
            reset_timeout=app.config.get(
                str('CIRCUIT_BREAKER_INSTANCE_TIMEOUT_S'), 60),
        )
        self.georef = georef.Kraken(self)
        self.planner = planner.Kraken(self)
        self._streetnetwork_backend_manager = streetnetwork_backend_manager

        if app.config[str('DISABLE_DATABASE')]:
            self._streetnetwork_backend_manager.init_streetnetwork_backends_legacy(
                self, street_network_configurations)

        self.ridesharing_services = [
        ]  # type: List[ridesharing_service.AbstractRidesharingService]
        if ridesharing_configurations is not None:
            self.ridesharing_services = ridesharing_service.Ridesharing.get_ridesharing_services(
                self, ridesharing_configurations)

        self.ptref = ptref.PtRef(self)

        self.schedule = schedule.MixedSchedule(self)
        self.realtime_proxy_manager = realtime_schedule.RealtimeProxyManager(
            realtime_proxies_configuration, self)

        self._autocomplete_type = autocomplete_type
        if self._autocomplete_type is not None and self._autocomplete_type not in global_autocomplete:
            raise RuntimeError('impossible to find autocomplete system {} '
                               'cannot initialize instance {}'.format(
                                   autocomplete_type, name))

        self.zmq_socket_type = zmq_socket_type

        if app.config[str('DISABLE_DATABASE')]:
            self.equipment_provider_manager = EquipmentProviderManager(
                app.config[str('EQUIPMENT_DETAILS_PROVIDERS')])
        else:
            self.equipment_provider_manager = EquipmentProviderManager(
                app.config[str('EQUIPMENT_DETAILS_PROVIDERS')],
                self.get_providers_from_db)

        # Init equipment providers from config
        self.equipment_provider_manager.init_providers(
            instance_equipment_providers)