Move completed tasks to an "archive" table and delete them in the GC
Summary: Currently, when taskmasters complete a task it is immediately deleted. This prevents us from doing some general things, like: - Supporting the idea of permanent failure (e.g., after N failures just stop trying). - Showing the user how fast taskmasters are completing tasks. - Showing the user how long tasks took to complete. Having better visibility into this is important to Drydock, which builds on the task system. Also, generally buff debug output for task execution. Test Plan: Ran `bin/phd debug taskmaster`. Ran `bin/phd debug garbage`. Queued some tasks via various systems. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T2015 Differential Revision: https://secure.phabricator.com/D3852
This commit is contained in:
@@ -34,7 +34,7 @@ final class PhabricatorDaemonConsoleController
|
||||
$daemon_panel->setHeader('Recently Launched Daemons');
|
||||
$daemon_panel->appendChild($daemon_table);
|
||||
|
||||
$tasks = id(new PhabricatorWorkerTask())->loadAllWhere(
|
||||
$tasks = id(new PhabricatorWorkerActiveTask())->loadAllWhere(
|
||||
'leaseOwner IS NOT NULL');
|
||||
|
||||
$rows = array();
|
||||
@@ -80,7 +80,7 @@ final class PhabricatorDaemonConsoleController
|
||||
$leased_panel->setHeader('Leased Tasks');
|
||||
$leased_panel->appendChild($leased_table);
|
||||
|
||||
$task_table = new PhabricatorWorkerTask();
|
||||
$task_table = new PhabricatorWorkerActiveTask();
|
||||
$queued = queryfx_all(
|
||||
$task_table->establishConnection('r'),
|
||||
'SELECT taskClass, count(*) N FROM %T GROUP BY taskClass
|
||||
|
||||
Reference in New Issue
Block a user