Presentations
XADD
XLEN
XREAD
XRANGE
XREVRANGE
XREADGROUP
XACK
XPENDING
XDEL
XAUTOCLAIM
XINFO
xadd stream1 1 x 10 y 20
xadd stream1 2 x 10 y 20
xadd stream2 0-1 data first
xadd stream2 0-2 data second
xadd stream2 1-0 data third
xadd stream3 * x 1 y 2
xadd stream3 * x 2 y 1
xadd stream3 * x 3 y 0
xread streams stream3 0
xread BLOCK 0 streams stream3 $
xrange stream2 - +
xrange stream3 0-1 0-4
xrevrange stream1 + -
xread BLOCK 0 streams streamA streamB $ $
XADD streamZ * foo 42
XGROUP CREATE streamZ groupZ $
XADD streamZ * m 1
XADD streamZ * m 2
XADD streamZ * m 3
XADD streamZ * m 4
XADD streamZ * m 5
XADD streamZ * m 6
XREADGROUP GROUP groupZ consumer1 COUNT 1 STREAMS streamZ >
XREADGROUP GROUP groupZ consumer1 STREAMS streamZ >
XACK streamZ groupZ 1611603108014-0
XPENDING streamZ groupZ
from walrus import Database
db = Database()
stream = db.Stream("streamX")
message_id = stream.add({"foo": 10,
"bar": 20})
print(message_id)
from walrus import Database
db = Database()
stream = db.Stream("streamX")
messages = list(stream)
print(messages)
from walrus import Database
db = Database()
stream = db.Stream("streamX")
message = stream.read(block=0, last_id="$")
print(message)
from walrus import Database
db = Database()
stream = db.Stream("streamY")
counter = 0
last_id = "0"
while True:
messages = stream.read(block=0, last_id=last_id, count=1)
message = messages[0]
last_id = message[0]
content = message[1]
counter += 1
if b"last" in content and content[b"last"] == b"y":
break
from walrus import Database
db = Database()
cg = db.consumer_group("a-group", ["streamX"])
cg.create()
cg.set_id('$')
while True:
messages = cg.read(block=0)
for message in messages:
print(message)