Device and Sample Position Create, Update, and Delete Auto Refresh#97
Open
bernardusrendy wants to merge 11 commits intomainfrom
Open
Device and Sample Position Create, Update, and Delete Auto Refresh#97bernardusrendy wants to merge 11 commits intomainfrom
bernardusrendy wants to merge 11 commits intomainfrom
Conversation
…itions, need test
1. adding and removing slots on a standalone sample position/changing the numbers
2. adding and removing a device and its sample position
3. adding and removing whole sample position
4. adding and removing a sample position prefix in a device
5. changing the numbers in a sample position in a device
…eme for new classes of tasks and devices
Collaborator
Author
|
Optional: block the user input request and make a GUI to indicate the system is undergoing a refresh such that user cannot do user_input request |
Collaborator
Author
|
A bug is observed when one only changes the fields in the MongoDB for existing devices. Somehow, the restart mechanism does not catch the change. For this to be fully useful, the reload needs to be only affecting the changed devices (and task) instead of reloading everything. This is because currently any small change would require all other running tasks to be paused, which is a problem for long-running tasks. |
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.
Changelog: Device and Sample Positions CUD Operations
Summary
This branch introduces comprehensive Create, Update, and Delete (CUD) operations for devices and sample positions in the AlabOS management system, along with enhanced auto-refresh capabilities.
Major Features
Bug Fixes
Additional Dependencies Introduced
No new dependencies were introduced in this branch. All changes utilize existing dependencies and standard library modules.
Technical Details
Device Manager Enhancements
The
DeviceManagerclass has been significantly enhanced with:setup_labfor dynamic device managementSample Position Management
New functionality in
SampleViewincludes:remove_sample_position_by_prefix(): Removes sample positions by prefix patternget_sample_positions_names_by_device(): Retrieves all sample positions for a deviceget_sample_positions_names_by_prefix(): Gets sample positions by prefixget_all_sample_positions_from_db(): Retrieves all sample positions from databaseget_sample_position_max_number_by_prefix(): Finds maximum position number for a prefixSetup Lab Improvements
The
setup_labfunction now supports:Module Operations
Enhanced
module_ops.pywith:_scan_and_import_new_modules(): Discovers and imports new modules during reloadAuto-Refresh Documentation
Updated documentation to reflect:
Testing
Added comprehensive test suite (
test_auto_refresh_scenarios.py) covering:TODO
This implementation is complete and ready for production use. No additional work is required.
Checklist
Breaking Changes
None. All changes are backward compatible and enhance existing functionality without breaking existing APIs.
Performance Impact
Migration Notes
No migration required. Existing installations will automatically benefit from the enhanced functionality.