refactor(FileListener): Process file events asynchronously#1429
Merged
marcelklehr merged 22 commits intomainfrom Dec 18, 2025
Merged
refactor(FileListener): Process file events asynchronously#1429marcelklehr merged 22 commits intomainfrom
marcelklehr merged 22 commits intomainfrom
Conversation
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors file event processing to be asynchronous by introducing a queue-based system for access updates. When files are shared or permissions change, instead of processing the updates immediately in the event handler, the changes are now queued to a database table and processed asynchronously via a background job. This improves the responsiveness of file operations by deferring expensive face detection synchronization logic.
- Introduces a new
recognize_access_updatesdatabase table to queue access change events - Creates background job infrastructure to process queued access updates in batches
- Refactors FileListener to defer access update processing instead of handling synchronously
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/Migration/Version011000001Date20251215094821.php | Creates the new recognize_access_updates table schema |
| lib/Db/AccessUpdate.php | Entity class representing queued access update records |
| lib/Db/AccessUpdateMapper.php | Data access layer for managing access update queue entries |
| lib/Service/AccessUpdateService.php | Service containing the business logic moved from FileListener |
| lib/BackgroundJobs/ProcessAccessUpdatesJob.php | Background job that processes queued access updates asynchronously |
| lib/Hooks/FileListener.php | Refactored to queue access updates instead of processing synchronously; removes ShareCreatedEvent and ShareDeletedEvent handling |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
4f68ede to
a8fb342
Compare
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
This comment was marked as resolved.
This comment was marked as resolved.
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
eaeeafd to
82d555b
Compare
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
…lly processed in queue Signed-off-by: Marcel Klehr <mklehr@gmx.net>
…a user folder plus make sure to tear down fs in between action processing to prevent OOM Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
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.
fixes #1161