Redis で Message Queue の処理をリスニングする方法
Redisでメッセージキューを処理するための2つの共通の方法があります。
- 購読する
- 発行する
- 購読する
import redis
def process_message(message):
# 处理接收到的消息
print("Received message:", message)
def listen_redis_channel():
r = redis.Redis()
pubsub = r.pubsub()
pubsub.subscribe('my_channel')
for message in pubsub.listen():
if message['type'] == 'message':
process_message(message['data'])
listen_redis_channel()
- BLPOP
- BRPOP
import redis
def process_message(message):
# 处理接收到的消息
print("Received message:", message)
def listen_redis_queue():
r = redis.Redis()
while True:
_, message = r.blpop('my_queue')
process_message(message)
listen_redis_queue()
どちらの手段を選択するにせよ、コードでさまざまな種類のメッセージが処理可能であること、また考えられるエラーを処理する仕組みを持つことを確認する必要があります。必要に応じて、マルチスレッドまたはマルチプロセスを使用したメッセージ処理機能を追加したり、特定のメッセージを処理するためのロジックを追加したりして拡張することも可能です。