SAAS-868 - Refactor third party + celery workflow, implement locking on TaskManager

This commit is contained in:
Duncan Sommerville 2015-06-16 15:10:08 -04:00
parent 3902c8c746
commit 8d2e476ff1
34 changed files with 4302 additions and 1143 deletions

View file

@ -536,19 +536,28 @@
<column name="service" phpName="DbService" type="VARCHAR" size="256" required="true" />
<!-- Make foreign ID a VARCHAR field in case a service uses hashes or other non-integer identifiers -->
<column name="foreign_id" phpName="DbForeignId" type="VARCHAR" size="256" />
<column name="broker_task_id" phpName="DbBrokerTaskId" type="VARCHAR" size="256" />
<column name="broker_task_name" phpName="DbBrokerTaskName" type="VARCHAR" size="256" />
<column name="broker_task_dispatch_time" phpName="DbBrokerTaskDispatchTime" type="TIMESTAMP" />
<column name="file_id" phpName="DbFileId" type="INTEGER" required="true" />
<column name="status" phpName="DbStatus" type="VARCHAR" size="256" required="true" />
<unique name="broker_task_id_unique">
<unique-column name="broker_task_id"/>
</unique>
<column name="upload_time" phpName="DbUploadTime" type="TIMESTAMP" />
<column name="status" phpName="DbStatus" type="VARCHAR" size="256" />
<unique name="foreign_id_unique">
<unique-column name="foreign_id"/>
</unique>
<foreign-key foreignTable="cc_playout_history_template" name="track_reference_fkey" onDelete="CASCADE">
<foreign-key foreignTable="cc_files" name="track_reference_fkey" onDelete="CASCADE">
<reference local="file_id" foreign="id"/>
</foreign-key>
</table>
<table name="celery_tasks" phpName="CeleryTasks">
<column name="id" phpName="DbId" primaryKey="true" type="VARCHAR" size="256" required="true" />
<column name="track_reference" phpName="DbTrackReference" type="INTEGER" required="true" />
<column name="name" phpName="DbName" type="VARCHAR" size="256" />
<column name="dispatch_time" phpName="DbDispatchTime" type="TIMESTAMP" />
<column name="status" phpName="DbStatus" type="VARCHAR" size="256" required="true" />
<unique name="id_unique">
<unique-column name="id"/>
</unique>
<foreign-key foreignTable="third_party_track_references" name="celery_service_fkey" onDelete="CASCADE">
<reference local="track_reference" foreign="id"/>
</foreign-key>
</table>
</database>

View file

@ -681,14 +681,28 @@ CREATE TABLE "third_party_track_references"
"id" serial NOT NULL,
"service" VARCHAR(256) NOT NULL,
"foreign_id" VARCHAR(256),
"broker_task_id" VARCHAR(256),
"broker_task_name" VARCHAR(256),
"broker_task_dispatch_time" TIMESTAMP,
"file_id" INTEGER NOT NULL,
"upload_time" TIMESTAMP,
"status" VARCHAR(256),
PRIMARY KEY ("id"),
CONSTRAINT "foreign_id_unique" UNIQUE ("foreign_id")
);
-----------------------------------------------------------------------
-- celery_tasks
-----------------------------------------------------------------------
DROP TABLE IF EXISTS "celery_tasks" CASCADE;
CREATE TABLE "celery_tasks"
(
"id" VARCHAR(256) NOT NULL,
"track_reference" INTEGER NOT NULL,
"name" VARCHAR(256),
"dispatch_time" TIMESTAMP,
"status" VARCHAR(256) NOT NULL,
PRIMARY KEY ("id"),
CONSTRAINT "broker_task_id_unique" UNIQUE ("broker_task_id"),
CONSTRAINT "foreign_id_unique" UNIQUE ("foreign_id")
CONSTRAINT "id_unique" UNIQUE ("id")
);
ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_owner_fkey"
@ -855,5 +869,10 @@ ALTER TABLE "cc_playout_history_template_field" ADD CONSTRAINT "cc_playout_histo
ALTER TABLE "third_party_track_references" ADD CONSTRAINT "track_reference_fkey"
FOREIGN KEY ("file_id")
REFERENCES "cc_playout_history_template" ("id")
REFERENCES "cc_files" ("id")
ON DELETE CASCADE;
ALTER TABLE "celery_tasks" ADD CONSTRAINT "celery_service_fkey"
FOREIGN KEY ("track_reference")
REFERENCES "third_party_track_references" ("id")
ON DELETE CASCADE;