Add an ItemCommand queue to Nuance

Summary:
Ref T10537. Generally, when users interact with Nuance items we'll dump a command into a queue and apply it in the background. This avoids race conditions with multiple users interacting with an item, which Nuance is more subject to than other applications because it has an import/external component.

The "sync" command doesn't actually do anything yet.

Test Plan: {F1186365}

Reviewers: chad

Reviewed By: chad

Subscribers: Luke081515.2

Maniphest Tasks: T10537

Differential Revision: https://secure.phabricator.com/D15506
This commit is contained in:
epriestley
2016-03-22 06:51:22 -07:00
parent a90daf5d30
commit 1885c4e03b
11 changed files with 264 additions and 1 deletions

View File

@@ -0,0 +1,8 @@
CREATE TABLE {$NAMESPACE}_nuance.nuance_itemcommand (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
itemPHID VARBINARY(64) NOT NULL,
authorPHID VARBINARY(64) NOT NULL,
command VARCHAR(64) NOT NULL COLLATE {$COLLATE_TEXT},
parameters LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT},
KEY `key_item` (itemPHID)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};