Differential D11577 Diff 27868 src/infrastructure/daemon/workers/management/PhabricatorWorkerTriggerManagementFireWorkflow.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/daemon/workers/management/PhabricatorWorkerTriggerManagementFireWorkflow.php
| Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | final class PhabricatorWorkerTriggerManagementFireWorkflow | ||||
| } | } | ||||
| public function execute(PhutilArgumentParser $args) { | public function execute(PhutilArgumentParser $args) { | ||||
| $console = PhutilConsole::getConsole(); | $console = PhutilConsole::getConsole(); | ||||
| $viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
| $triggers = $this->loadTriggers($args); | $triggers = $this->loadTriggers($args); | ||||
| $now = $args->getArg('now'); | $now = $args->getArg('now'); | ||||
| $now = $this->parseTime($now); | $now = $this->parseTimeArgument($now); | ||||
| if (!$now) { | if (!$now) { | ||||
| $now = PhabricatorTime::getNow(); | $now = PhabricatorTime::getNow(); | ||||
| } | } | ||||
| PhabricatorTime::pushTime($now, date_default_timezone_get()); | $time_guard = PhabricatorTime::pushTime($now, date_default_timezone_get()); | ||||
| $console->writeOut( | $console->writeOut( | ||||
| "%s\n", | "%s\n", | ||||
| pht( | pht( | ||||
| 'Set current time to %s.', | 'Set current time to %s.', | ||||
| phabricator_datetime(PhabricatorTime::getNow(), $viewer))); | phabricator_datetime(PhabricatorTime::getNow(), $viewer))); | ||||
| $last_time = $this->parseTime($args->getArg('last')); | $last_time = $this->parseTimeArgument($args->getArg('last')); | ||||
| $next_time = $this->parseTime($args->getArg('next')); | $next_time = $this->parseTimeArgument($args->getArg('next')); | ||||
| PhabricatorWorker::setRunAllTasksInProcess(true); | PhabricatorWorker::setRunAllTasksInProcess(true); | ||||
| foreach ($triggers as $trigger) { | foreach ($triggers as $trigger) { | ||||
| $console->writeOut( | $console->writeOut( | ||||
| "%s\n", | "%s\n", | ||||
| pht('Executing trigger %s.', $this->describeTrigger($trigger))); | pht('Executing trigger %s.', $this->describeTrigger($trigger))); | ||||
| $event = $trigger->getEvent(); | $event = $trigger->getEvent(); | ||||
| if ($event) { | if ($event) { | ||||
| if (!$last_time) { | if (!$last_time) { | ||||
| $last_time = $event->getLastEventEpoch(); | $last_time = $event->getLastEventEpoch(); | ||||
| } | } | ||||
| if (!$next_time) { | if (!$next_time) { | ||||
| $next_time = $event->getNextEventEpoch(); | $next_time = $event->getNextEventEpoch(); | ||||
| } | } | ||||
| } | } | ||||
| if (!$next_time) { | if (!$next_time) { | ||||
| $console->writeOut( | $console->writeOut( | ||||
| "%s\n", | "%s\n", | ||||
| pht( | pht( | ||||
| 'Trigger is not scheduled to execute. Use --at to simluate '. | 'Trigger is not scheduled to execute. Use --next to simluate '. | ||||
| 'a scheduled event.')); | 'a scheduled event.')); | ||||
| continue; | continue; | ||||
| } else { | } else { | ||||
| $console->writeOut( | $console->writeOut( | ||||
| "%s\n", | "%s\n", | ||||
| pht( | pht( | ||||
| 'Executing event as though it was scheduled to execute at %s.', | 'Executing event as though it was scheduled to execute at %s.', | ||||
| phabricator_datetime($next_time, $viewer))); | phabricator_datetime($next_time, $viewer))); | ||||
| ▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines | |||||