def __init__( self, serializer=ByFieldMessageSerializer(), deserializer=ByFieldMessageDeserializer(EventMessage), ): self.serializer = serializer self.deserializer = deserializer
async def test_history_get_all_multiple_batches( redis_event_transport: RedisEventTransport, redis_client ): message = EventMessage(native_id="", api_name="my_api", event_name="my_event") data = ByFieldMessageSerializer()(message) await redis_client.xadd("my_api.my_event:stream", data, message_id=b"1-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"2-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"3-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"4-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"5-0") messages = redis_event_transport.history("my_api", "my_event", batch_size=2) message_ids = {m.native_id async for m in messages} assert len(message_ids) == 5
def __init__( self, redis_pool=None, *, service_name: str, consumer_name: str, url=None, serializer=ByFieldMessageSerializer(), deserializer=ByFieldMessageDeserializer(RedisEventMessage), connection_parameters: Mapping = frozendict(maxsize=100), batch_size=10, reclaim_batch_size: int = None, acknowledgement_timeout: float = 60, max_stream_length: Optional[int] = 100_000, stream_use: StreamUse = StreamUse.PER_API,
async def test_history_get_subset_multiple_batches( redis_event_transport: RedisEventTransport, redis_client ): message = EventMessage(native_id="", api_name="my_api", event_name="my_event") data = ByFieldMessageSerializer()(message) await redis_client.xadd("my_api.my_event:stream", data, message_id=b"1-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"2-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"3-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"4-0") await redis_client.xadd("my_api.my_event:stream", data, message_id=b"5-0") messages = redis_event_transport.history( "my_api", "my_event", batch_size=2, start=datetime.fromtimestamp(0.002), stop=datetime.fromtimestamp(0.004), ) message_ids = {m.native_id async for m in messages} assert message_ids == {"2-0", "3-0", "4-0"}