File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
wren-ai-service/src/web/v1/services Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ class AskRequest(BaseRequest):
29
29
enable_column_pruning : bool = False
30
30
use_dry_plan : bool = False
31
31
allow_dry_plan_fallback : bool = True
32
+ timeout : float = Field (default = 30.0 , description = "Timeout for the ask query in seconds." )
32
33
33
34
34
35
class AskResponse (BaseModel ):
@@ -175,6 +176,24 @@ async def ask(
175
176
self ,
176
177
ask_request : AskRequest ,
177
178
** kwargs ,
179
+ ):
180
+ try :
181
+ await asyncio .wait_for (self ._ask (ask_request , ** kwargs ), timeout = ask_request .timeout )
182
+ except asyncio .TimeoutError :
183
+ logger .warning (f"ask pipeline - TIMEOUT: { ask_request .query_id } " )
184
+ self ._ask_results [ask_request .query_id ] = AskResultResponse (
185
+ status = "failed" ,
186
+ error = AskError (
187
+ code = "OTHERS" ,
188
+ message = "Query timed out" ,
189
+ ),
190
+ trace_id = kwargs .get ("trace_id" ),
191
+ )
192
+
193
+ async def _ask (
194
+ self ,
195
+ ask_request : AskRequest ,
196
+ ** kwargs ,
178
197
):
179
198
trace_id = kwargs .get ("trace_id" )
180
199
results = {
You can’t perform that action at this time.
0 commit comments