Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 introduces snapshot file monitoring to the Switcher client, allowing the system to automatically detect and handle changes to the snapshot file in real time. The main changes include implementing the snapshot watcher logic, integrating it into the client API, updating documentation and playground use cases, and adding comprehensive tests for the new feature.
Snapshot monitoring feature:
SnapshotWatcherclass toswitcher_client/lib/snapshot_watcher.py, which uses a background thread to poll the snapshot file for changes and reloads the snapshot when modifications are detected. It invokes success or error callbacks as appropriate.ClientAPI by addingwatch_snapshotandunwatch_snapshotmethods, updating resource cleanup logic, and wiring up the watcher instance. [1] [2] [3] [4]Documentation and playground updates:
README.mdto document the new snapshot monitoring feature and provide usage examples.uc_watch_snapshotfunction to demonstrate snapshot monitoring intests/playground/index.py. [1] [2] [3] [4] [5] [6]Testing:
tests/test_client_watch_snapshot.pyto verify snapshot monitoring behavior, error handling for missing or malformed snapshot files, and correct callback invocation.