You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pixelfed/app/Jobs/DeletePipeline
Your Name c4e5b96d25 Stream deletions with cursor and batch notification lookups in delete jobs
The status- and account-deletion jobs loaded whole collections with
->get() and then looped, running a per-row Notification lookup inside
each iteration.

- StatusDelete / RemoteStatusDelete: resolve associated DirectMessage and
  MediaTag ids, fetch their notifications in a single whereIn query,
  clear each via cursor (NotificationService::del must run per row for
  cache/redis cleanup), then bulk delete the DMs and media tags.
- DeleteAccountPipeline / DeleteRemoteProfilePipeline: stream Story and
  Collection deletions with cursor() instead of loading every row into
  memory. Per-row file unlink and item deletes are preserved.

Adds StatusDeleteCleanupTest covering DM + notification cleanup, media
tag + notification cleanup, and the no-associations case.
4 weeks ago
..
DeleteAccountPipeline.php Stream deletions with cursor and batch notification lookups in delete jobs 4 weeks ago
DeleteRemoteProfilePipeline.php Stream deletions with cursor and batch notification lookups in delete jobs 4 weeks ago
DeleteRemoteStatusPipeline.php Fix remote status deletion leaking attached media, add status:media command 4 weeks ago
FanoutDeletePipeline.php refactor: extract shared ActivityPub pool delivery into ActivityPubDeliveryService 1 month ago