Summary:
Ref T8637. This does nothing interesting, just has empty scaffolding for a bulk job queue.
Basic idea is that when you do something like a batch edit in Maniphest, we:
- Create a BulkJob with all the details.
- Queue a worker to start the job.
- Send you to a progress bar page for the job.
In the background:
- The "start job" worker creates a ton of Task objects, then queues worker tasks to do the work.
In the foreground:
- Fancy ajax animates the progress bar and it goes wooosh.
In general:
- Big jobs actually work.
- Jobs get logged.
- You can monitor jobs.
- Terrible junk like T8637 should be much harder to write and much easier to catch and diagnose.
Test Plan:
No interesting code/beahavior yet. Clean `storage adjust`.
{F526411}
Reviewers: chad, btrahan
Reviewed By: btrahan
Subscribers: epriestley
Maniphest Tasks: T8637
Differential Revision: https://secure.phabricator.com/D13392
17 lines
567 B
SQL
17 lines
567 B
SQL
CREATE TABLE {$NAMESPACE}_worker.edge (
|
|
src VARBINARY(64) NOT NULL,
|
|
type INT UNSIGNED NOT NULL,
|
|
dst VARBINARY(64) NOT NULL,
|
|
dateCreated INT UNSIGNED NOT NULL,
|
|
seq INT UNSIGNED NOT NULL,
|
|
dataID INT UNSIGNED,
|
|
PRIMARY KEY (src, type, dst),
|
|
KEY `src` (src, type, dateCreated, seq),
|
|
UNIQUE KEY `key_dst` (dst, type, src)
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|
|
|
|
CREATE TABLE {$NAMESPACE}_worker.edgedata (
|
|
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
data LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT}
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|