From 7e0f374c3b6789cc6b374400e1eb594f077fb644 Mon Sep 17 00:00:00 2001 From: seungha-kim Date: Sat, 3 Oct 2026 10:05:32 +0900 Subject: [PATCH] Update query_queryable.py Follow up the latest API. Without explicit drop or context management, timeout error occurs at client side. --- docs/examples/query_queryable.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/examples/query_queryable.py b/docs/examples/query_queryable.py index d59d6cb2..35be914e 100644 --- a/docs/examples/query_queryable.py +++ b/docs/examples/query_queryable.py @@ -34,19 +34,20 @@ def callback(reply): # Queryable that replies with temperature data for a given day queryable = session.declare_queryable("room/temperature/history") query_count = 0 -for query in queryable: - if "day" in query.selector.parameters: - day = query.selector.parameters["day"] - if day in temperature_data: - query.reply("room/temperature/history", temperature_data[day]) +while True: + with queryable.recv() as query: + if "day" in query.selector.parameters: + day = query.selector.parameters["day"] + if day in temperature_data: + query.reply("room/temperature/history", temperature_data[day]) + else: + query.reply_del("room/temperature/history") else: - query.reply_del("room/temperature/history") - else: - query.reply_err("missing day parameter") - # [query_queryable] - query_count += 1 - if query_count >= 3: # Exit after handling all 3 queries - break + query.reply_err("missing day parameter") + # [query_queryable] + query_count += 1 + if query_count >= 3: # Exit after handling all 3 queries + break send_thread.join() session.close()