Merge PR #275: fix(batch_runner): preserve traceback when batch worker fails
Authored by batuhankocyigit. Adds explicit traceback logging for batch worker failures and improves tool dispatch error logging in registry.
This commit is contained in:
commit
2eca0d4af1
2 changed files with 4 additions and 1 deletions
|
|
@ -914,6 +914,9 @@ class BatchRunner:
|
||||||
for result in pool.imap_unordered(_process_batch_worker, tasks):
|
for result in pool.imap_unordered(_process_batch_worker, tasks):
|
||||||
results.append(result)
|
results.append(result)
|
||||||
progress.update(task, advance=1)
|
progress.update(task, advance=1)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("Batch worker failed: %s", e, exc_info=True)
|
||||||
|
raise
|
||||||
finally:
|
finally:
|
||||||
root_logger.setLevel(original_level)
|
root_logger.setLevel(original_level)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ class ToolRegistry:
|
||||||
return _run_async(entry.handler(args, **kwargs))
|
return _run_async(entry.handler(args, **kwargs))
|
||||||
return entry.handler(args, **kwargs)
|
return entry.handler(args, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("Tool %s dispatch error: %s", name, e)
|
logger.exception("Tool %s dispatch error: %s", name, e)
|
||||||
return json.dumps({"error": f"Tool execution failed: {type(e).__name__}: {e}"})
|
return json.dumps({"error": f"Tool execution failed: {type(e).__name__}: {e}"})
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue