Add Optional Async Shutdown Method to BaseChatAgent
and BaseGroupChat
for Cleanup Operations
#3850
+8
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why are these changes needed?
These changes introduce an optional
shutdown
method to theBaseChatAgent
class and ensure it is called on all participants in theBaseGroupChat
class. This allows for proper cleanup of resources and necessary teardown operations for custom agents.What changes are included?
BaseChatAgent
: Added an asyncshutdown
method with a default implementation (pass
).BaseGroupChat
: Updated therun
method to callshutdown
on all participants after the runtime stops.Hypothetical Usage
For example, an agent like
CodeExecutorAgent
could handle both initialization and cleanup internally with minimal effort. This pattern simplifies teardown tasks such as closing open connections or stopping subprocesses.What needs to be done before merging?
shutdown
method.shutdown
code in those custom agents, where applicable.shutdown
method is invoked and behaves as expected (e.g., proper resource cleanup).Notes