-
Notifications
You must be signed in to change notification settings - Fork 74
Full Async Force Rescan #1038
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
emanuelGitCodes
wants to merge
53
commits into
new-main-page-UX
Choose a base branch
from
async-no-redis
base: new-main-page-UX
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Full Async Force Rescan #1038
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
Removed the disabled locks on the menu tabs to allow user to click to report once scan started.
API now calls the aysnc refresh function instead of normal. Adds aysnc function which removes steps and calls correct function to start async scanning
- Gets course content asynchronously and then triggers scan as content is finished downloading Co-authored-by: Emanuel <emanuelcodes@gmail.com>
In the update course content in CanvasLMS it previously was creating new item, but also updating it later in code. Durning creation added the rest of the fields needed to avoid duplicate assignments.
Adds local scanner support and adds more print statements to test output
Adds to gitignore the scanner files that are downloaded from another repo. Removes usage of AuthToken in functions and passing it through etc.
…ng. This files are not complete, there more like blueprints to what to do.
…rker configuration
Co-authored-by: Emanuel <emanuelcodes@gmail.com>
Adds messenger system to queue scans. Currently queues print statement. Messenger system starts workers and runs concurrently.
Fixes issue with logging not appearing by routing log output to normal stdout and stderr
Updates the messenger to scan the content item.
Adds wait code to wait until all the message workers have completed before finishing the report.
Adds delete function to the MessageHandler instead. Adds new separatate async function to be called by the message to avoid editing current one. Updates config and adds more detaches and flushes to try and fix database saving
…nges Add Local Scanner Fixes To Branch
Re-adds routing back to the async there. Removes random return in the async refresh.
Removed equal access server to help future merges. Uncommeted the ace container since removed the files for it.
Base for supervisors
…ync-process-upgrade
…to dispatch full rescan jobs async. Force Full Rescan works and scans everything, but it runs twice. First runs scans everything, second is redundant.
…ontent scanning - Consolidate messenger worker configurations into a single directory. - Introduce new messenger handlers for concurrent and high-priority content scanning. - Update `ScanContentItem` to include content item ID and user ID. - Modify `FullRescanHandler` to dispatch `ScanContentItem` messages for updated items. - Adjust `LmsFetchService` to return updated content items for processing. Working towards having the `Force Full Rescan` process to be divided between different workers to make it faster.
…umber of browsers available on the local scanner.
…logging in rescan processes.
…sing; mark items as pending and dispatch FinishRescanMessage when all items are processed.
…redis Have to confirm all issues are being downloaded
…tent item count, and improve ScanContentItemHandler to persist issues. Update LocalApiAccessibilityService and ScannerService for better data handling.
Refactor ScannerService to include document parsing in report generation for content items.
…ent, enhance error handling in aceCheck, update scan route for better error reporting, and improve logging in LocalApiAccessibilityService and ScannerService.
…lean up error handling
…ApiAccessibilityService
…treamline error handling, and enhance logging in LocalApiAccessibilityService and ScannerService.
Author
|
Updated the new env variables to |
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.
✨ Pull Request: Asynchronous Scanning Pipeline & Issue-Persistence Overhaul
📋 Summary
This PR rolls up every change made since we introduced Symfony Messenger workers and Supervisor—culminating in a brand-new, end-to-end pipeline that refreshes LMS data, scans content items in parallel, and reliably persists Equal Access issues.
🗺️ Architecture at a Glance
✅ How to Test
Full Rescan → queue FullRescanMessage; observe workers process items in parallel and FinishRescanHandler mark scan ✔️.
Database → verify issue rows populate for each content item.
Canvas API Throttle → throttle Canvas to 1 req/sec; worker should self-sleep without 429s.
📝 Deployment Notes