-
Notifications
You must be signed in to change notification settings - Fork 55
2248 make the uploading of a spreadsheet a background job #2310
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
base: seek-1.17
Are you sure you want to change the base?
2248 make the uploading of a spreadsheet a background job #2310
Conversation
kdp-cloud
commented
Sep 1, 2025
- Harmonizes the spreadsheet upload functionality and dynamic table functionality
- Makes adding / creating samples a background job when > 100 samples
- Closes Make the uploading of a spreadsheet a background job #2248
An error in the controller should be raised if the SampleBatchProcessor has errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces background job processing for large sample uploads to improve system performance and user experience. When uploading > 100 samples via spreadsheet, the system now processes them asynchronously instead of blocking the request.
- Refactors sample batch operations to use a new service class
SampleBatchProcessor
- Adds background jobs for batch create/update operations when sample count exceeds 100
- Implements email notifications for background job completion
- Adds UI feedback and locking mechanisms during background processing
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 7 comments.
Show a summary per file
File | Description |
---|---|
app/services/samples/sample_batch_processor.rb |
New service class to handle batch sample operations |
app/jobs/samples_batch_create_job.rb |
Background job for batch sample creation |
app/jobs/samples_batch_update_job.rb |
Background job for batch sample updates |
app/controllers/samples_controller.rb |
Refactored to use new service and jobs with 100-sample threshold |
app/controllers/single_pages_controller.rb |
Renamed upload action to preview_upload_samples |
app/models/sample_type.rb |
Added batch upload progress tracking |
app/views/single_pages/sample_upload_content.html.erb |
Updated UI to handle background jobs and improve error handling |
test/ files |
Updated tests to reflect new functionality and parameter structure |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.