mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 08:42:41 +01:00
Support an "--active" flag for selecting active tasks
Summary: Ref T13591. This is mostly a workaround for Big Sur not having pcntl/posix installed by default and the mess with M1 / Homebrew / SIP / Code Signing (see T13232) so I can't easily run actual daemons and need to fake them with `bin/worker execute --active`, but it's a reasonable flag on its own. Test Plan: - Ran `bin/worker execute --active` and `bin/worker cancel --active`. Maniphest Tasks: T13591 Differential Revision: https://secure.phabricator.com/D21517
This commit is contained in:
parent
3cb543ef8f
commit
15e022d648
1 changed files with 16 additions and 3 deletions
|
@ -21,6 +21,10 @@ abstract class PhabricatorWorkerManagementWorkflow
|
||||||
'param' => 'int',
|
'param' => 'int',
|
||||||
'help' => pht('Limit to tasks with at least this many failures.'),
|
'help' => pht('Limit to tasks with at least this many failures.'),
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'name' => 'active',
|
||||||
|
'help' => pht('Select all active tasks.'),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,10 +32,13 @@ abstract class PhabricatorWorkerManagementWorkflow
|
||||||
$ids = $args->getArg('id');
|
$ids = $args->getArg('id');
|
||||||
$class = $args->getArg('class');
|
$class = $args->getArg('class');
|
||||||
$min_failures = $args->getArg('min-failure-count');
|
$min_failures = $args->getArg('min-failure-count');
|
||||||
|
$active = $args->getArg('active');
|
||||||
|
|
||||||
if (!$ids && !$class && !$min_failures) {
|
if (!$ids && !$class && !$min_failures && !$active) {
|
||||||
throw new PhutilArgumentUsageException(
|
throw new PhutilArgumentUsageException(
|
||||||
pht('Use --id, --class, or --min-failure-count to select tasks.'));
|
pht(
|
||||||
|
'Use "--id", "--class", "--active", and/or "--min-failure-count" '.
|
||||||
|
'to select tasks.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$active_query = new PhabricatorWorkerActiveTaskQuery();
|
$active_query = new PhabricatorWorkerActiveTaskQuery();
|
||||||
|
@ -56,7 +63,13 @@ abstract class PhabricatorWorkerManagementWorkflow
|
||||||
}
|
}
|
||||||
|
|
||||||
$active_tasks = $active_query->execute();
|
$active_tasks = $active_query->execute();
|
||||||
|
|
||||||
|
if ($active) {
|
||||||
|
$archive_tasks = array();
|
||||||
|
} else {
|
||||||
$archive_tasks = $archive_query->execute();
|
$archive_tasks = $archive_query->execute();
|
||||||
|
}
|
||||||
|
|
||||||
$tasks =
|
$tasks =
|
||||||
mpull($active_tasks, null, 'getID') +
|
mpull($active_tasks, null, 'getID') +
|
||||||
mpull($archive_tasks, null, 'getID');
|
mpull($archive_tasks, null, 'getID');
|
||||||
|
|
Loading…
Reference in a new issue