Page MenuHomePhabricator

Provide a generic transaction-oriented bulk job worker
ClosedPublic

Authored by epriestley on Jan 10 2018, 9:06 PM.
Tags
None
Referenced Files
F14057470: D18862.diff
Sun, Nov 17, 3:33 AM
F14044763: D18862.diff
Tue, Nov 12, 8:45 PM
F14015039: D18862.id45251.diff
Sun, Nov 3, 12:29 PM
F14004720: D18862.id45245.diff
Sun, Oct 27, 1:41 AM
F13973046: D18862.id.diff
Oct 17 2024, 10:38 PM
Unknown Object (File)
Oct 10 2024, 9:05 PM
Unknown Object (File)
Oct 9 2024, 8:24 AM
Unknown Object (File)
Oct 2 2024, 1:33 AM
Subscribers
None

Details

Summary

Depends on D18806. Ref T13025. See PHI173. Currently, Maniphest bulk edits are processed by a Maniphest-specific worker. I want to replace this with a generic worker which can apply transactional edits to any object.

This implements a generic worker, although it has no callers yet. Future changes give it callers, and later remove the Maniphest-specific worker.

Test Plan

See next changes.

Diff Detail

Repository
rP Phabricator
Branch
bulk3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 19035
Build 25681: Run Core Tests
Build 25680: arc lint + arc unit

Event Timeline

amckinley added inline comments.
src/applications/transactions/bulk/PhabricatorEditEngineBulkJobType.php
33–35

It feels a little heavy-handed to make new a new BulkTask for every PHID. On the other hand, I have a hard time imagining bulk jobs with like 1m+ PHIDs, or otherwise scaling to the point where this would start to get painful.

This revision is now accepted and ready to land.Jan 11 2018, 12:26 AM

I think each actual edit normally writes at least 5 rows when it actually applies (offhand: transaction, feed story, mail message, notification row, Herald transcript) so the overhead of the bulk job should always be fairly low compared to the overhead of actually performing an edit, even though it's high relative to, say, holding a string in memory.

  • Pull the minor changes from D18863 to here (value vs old) to improve conceptual purity.
This revision was automatically updated to reflect the committed changes.