2017-09-21 4 views
0

特定の時間内に処理されなかったメッセージをキューから削除したいTikaはPikaに実装されていますか?

私はすでに、公開時間を記録して消費者にこれを行います。ただし、誰もサブスクライブしていない場合は、キューが失効したメッセージを単にドロップするほうがよいでしょう。

Pikaのメッセージに有効期限(TTL)を設定できますか。 RabbitMQのドキュメントではそのことについて話していますが、PikaのドキュメントではTTL参照は表示されません。

答えて

1

pikaのマニュアルhereに示すように、BasicPropertiesオブジェクトの有効期限フラグを使用してメッセージごとのTTLを設定できます。

これを使用すると、次のようになります。

channel.basic_publish(
    exchange='', 
    routing_key='hello_world', 
    properties=pika.BasicProperties(
     expiration=60000, 
    ), 
    body='my message' 
) 

expirationポリシーはミリ秒を使用して表現されていることに注意してください、そう60000は60秒に変換します。

メッセージベースのTTLについて詳しく読むことができ、その注意点はhereです。

関連する問題