Skip to content

Instantly share code, notes, and snippets.

@slayton
Last active January 22, 2024 19:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slayton/319507c77abc4d343591bcbfb221d55a to your computer and use it in GitHub Desktop.
Save slayton/319507c77abc4d343591bcbfb221d55a to your computer and use it in GitHub Desktop.
consumer_example.py
import asyncio
from faststream import FastStream, Logger
from faststream.redis import RedisBroker, StreamSub
broker = RedisBroker("redis://localhost:6379")
app = FastStream(broker, logger=None)
chan = "chan"
word_publisher = broker.publisher(chan)
@broker.subscriber(chan)
async def lower(word: str, logger: Logger) -> None:
lower = word.lower()
logger.info(f"LOWER:{lower}")
async def send(word) -> None:
await word_publisher.publish(word)
@app.after_startup
async def run():
words = ['APPle', 'banaNA']
await asyncio.gather(*[send(w) for w in words])
@slayton
Copy link
Author

slayton commented Jan 22, 2024

faststream run consumer_example:app
2024-01-22 14:42:20,173 INFO     - chan |                 - `Lower` waiting for messages
2024-01-22 14:42:20,193 INFO     - chan | 756d96de-cc63-4 - Received
2024-01-22 14:42:20,194 INFO     - chan | 756d96de-cc63-4 - LOWER:banana
2024-01-22 14:42:20,194 INFO     - chan | 756d96de-cc63-4 - Processed
2024-01-22 14:42:20,194 INFO     - chan | ca21a892-9dbc-4 - Received
2024-01-22 14:42:20,194 INFO     - chan | ca21a892-9dbc-4 - LOWER:apple
2024-01-22 14:42:20,194 INFO     - chan | ca21a892-9dbc-4 - Processed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment