# Efficient polling - only fetch new messagesafter_id = 0while True: data = get_messages(session_id, after_id) for msg in data["messages"]: after_id = max(after_id, msg["id"]) process_message(msg) if data["status"] == "finished": break
# Get all messages after task completesdata = get_messages(session_id, after_id=0, sanitize=True)# Find the DONE message with resultsfor msg in data["messages"]: if msg["type"] == "DONE": results = msg["content"] print(f"Results: {results}")
# Recommended patternafter_id = 0while True: # Fetch new messages data = get_messages(session_id, after_id) # Process each message for msg in data["messages"]: # Update tracking after_id = max(after_id, msg["id"]) # Handle message handle_message(msg) # Check completion if data["status"] in ["finished", "error"]: break # Wait before next poll time.sleep(2)
For real-time updates without polling, consider using Server-Sent Events instead.