Fix for Bug #313: Ensure Graceful Interruption of Benchmark Process #325
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.
This pull request addresses bug #313, where users were unable to interrupt the benchmarking process using Ctrl+C, leading to a scenario where the benchmark would continue running indefinitely, ignoring interruption requests. The core of the issue was the absence of a proper signal handling mechanism for keyboard interrupts during the execution of the benchmarking commands.
Added a try-except block around the benchmarking execution commands in benchmark.py. This ensures that a KeyboardInterrupt (e.g., through Ctrl+C) is caught, and a graceful shutdown sequence can be initiated. Upon catching a KeyboardInterrupt, the script now calls stop_inference_containers() from container_adapter.py. This function halts all running inference containers, ensuring that no orphaned resources are left consuming system resources post-interruption.
Enhanced stop_inference_containers() to handle both interactive and automated environments gracefully.
Fix #313