def from_config( cls, config: "Config", url: str = "redis://127.0.0.1:6379/0", serializer: str = "lightbus.serializers.BlobMessageSerializer", deserializer: str = "lightbus.serializers.BlobMessageDeserializer", connection_parameters: Mapping = frozendict(maxsize=100), result_ttl=60, rpc_timeout=5, ): serializer = import_from_string(serializer)() deserializer = import_from_string(deserializer)(ResultMessage) return cls( url=url, serializer=serializer, deserializer=deserializer, connection_parameters=connection_parameters, result_ttl=result_ttl, rpc_timeout=rpc_timeout, )
def from_config( cls, config: "Config", consumer_group_prefix: str = None, consumer_name: str = None, url: str = "redis://127.0.0.1:6379/0", connection_parameters: Mapping = frozendict(maxsize=100), batch_size: int = 10, reclaim_batch_size: int = None, serializer: str = "lightbus.serializers.ByFieldMessageSerializer", deserializer: str = "lightbus.serializers.ByFieldMessageDeserializer", acknowledgement_timeout: float = 60, max_stream_length: Optional[int] = 100000, stream_use: StreamUse = StreamUse.PER_API, consumption_restart_delay: int = 5, ): serializer = import_from_string(serializer)() deserializer = import_from_string(deserializer)(EventMessage) consumer_group_prefix = consumer_group_prefix or config.service_name consumer_name = consumer_name or config.process_name if isinstance(stream_use, str): stream_use = StreamUse[stream_use.upper()] return cls( redis_pool=None, consumer_group_prefix=consumer_group_prefix, consumer_name=consumer_name, url=url, connection_parameters=connection_parameters, batch_size=batch_size, reclaim_batch_size=reclaim_batch_size, serializer=serializer, deserializer=deserializer, acknowledgement_timeout=acknowledgement_timeout, max_stream_length=max_stream_length, stream_use=stream_use, consumption_restart_delay=consumption_restart_delay, )
def from_config( cls, config: "Config", url: str = "redis://127.0.0.1:6379/0", connection_parameters: Mapping = frozendict(maxsize=100), batch_size: int = 10, serializer: str = "lightbus.serializers.BlobMessageSerializer", deserializer: str = "lightbus.serializers.BlobMessageDeserializer", rpc_timeout: int = 5, consumption_restart_delay: int = 5, ): serializer = import_from_string(serializer)() deserializer = import_from_string(deserializer)(RpcMessage) return cls( url=url, serializer=serializer, deserializer=deserializer, connection_parameters=connection_parameters, batch_size=batch_size, rpc_timeout=rpc_timeout, consumption_restart_delay=consumption_restart_delay, )
def from_config( cls, config: "Config", # TODO: Figure out how to represent child_transport in the config schema # without circular import problems. May require extracting # the transport selector structures into json schema 'definitions' # child_transport: 'EventTransportSelector', child_transport: dict, database_class: str = "lightbus.transports.transactional.DbApiConnection", auto_migrate: bool = True, ): transport_name = list(child_transport.keys())[0] transport_class = get_transport(type_="event", name=transport_name) return cls( child_transport=transport_class.from_config( config=config, **child_transport[transport_name]), database_class=import_from_string(database_class), auto_migrate=auto_migrate, )
service_name: str = None, consumer_name: str = None, url: str = "redis://127.0.0.1:6379/0", connection_parameters: Mapping = frozendict(maxsize=100), batch_size: int = 10, reclaim_batch_size: int = None, serializer: str = "lightbus.serializers.ByFieldMessageSerializer", deserializer: str = "lightbus.serializers.ByFieldMessageDeserializer", acknowledgement_timeout: float = 60, reclaim_interval: Optional[float] = None, max_stream_length: Optional[int] = 100_000, stream_use: StreamUse = StreamUse.PER_API, consumption_restart_delay: int = 5, consumer_ttl: int = 2_592_000, ): serializer = import_from_string(serializer)() deserializer = import_from_string(deserializer)(RedisEventMessage) service_name = service_name or config.service_name consumer_name = consumer_name or config.process_name if isinstance(stream_use, str): stream_use = StreamUse[stream_use.upper()] if reclaim_interval is None: reclaim_interval = acknowledgement_timeout return cls( redis_pool=None, service_name=service_name, consumer_name=consumer_name, url=url, connection_parameters=connection_parameters,