-
- Downloads
Removed each_batch from PruneExpiredExportJobsService for scalability
In PruneExpiredExportJobsService, EachBatch won't scale for large volumes of data because we're trying to batch by pkey and a timestamp. This introduces a new index on project_export_jobs to use loop-based deletion and keyset pagination to more efficiently prune old uploads.
parent
65cec4fe
No related branches found
No related tags found
Showing
- app/models/project_export_job.rb 1 addition, 0 deletionsapp/models/project_export_job.rb
- app/services/projects/import_export/prune_expired_export_jobs_service.rb 26 additions, 16 deletions...ojects/import_export/prune_expired_export_jobs_service.rb
- db/migrate/20240221100733_add_index_on_updated_at_and_id_to_project_export_jobs.rb 18 additions, 0 deletions..._add_index_on_updated_at_and_id_to_project_export_jobs.rb
- db/schema_migrations/20240221100733 1 addition, 0 deletionsdb/schema_migrations/20240221100733
- db/structure.sql 2 additions, 0 deletionsdb/structure.sql
- spec/models/project_export_job_spec.rb 41 additions, 0 deletionsspec/models/project_export_job_spec.rb
- spec/services/projects/import_export/prune_expired_export_jobs_service_spec.rb 87 additions, 49 deletions...s/import_export/prune_expired_export_jobs_service_spec.rb
db/schema_migrations/20240221100733
0 → 100644
Please register or sign in to comment