@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Increase the visibility of permanent task failures in task queue

Make permanent failures always reach the log.
Make `bin/worker execute` report exceptions properly.

+5 -7
+4 -6
src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php
··· 21 21 $ex = $task->getExecutionException(); 22 22 if ($ex) { 23 23 if ($ex instanceof PhabricatorWorkerPermanentFailureException) { 24 - $this->log( 25 - pht( 26 - 'Task %s failed permanently: %s', 27 - $id, 28 - $ex->getMessage())); 24 + throw new PhutilProxyException( 25 + pht('Permanent failure while executing Task ID %d.', $id), 26 + $ex); 29 27 } else if ($ex instanceof PhabricatorWorkerYieldException) { 30 28 $this->log(pht('Task %s yielded.', $id)); 31 29 } else { 32 30 $this->log("Task {$id} failed!"); 33 31 throw new PhutilProxyException( 34 - "Error while executing task ID {$id} from queue.", 32 + pht('Error while executing Task ID %d.', $id), 35 33 $ex); 36 34 } 37 35 } else {
+1 -1
src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementExecuteWorkflow.php
··· 47 47 48 48 $console->writeOut("Executing task {$id} ({$class})..."); 49 49 50 - $task->executeTask(); 50 + $task = $task->executeTask(); 51 51 $ex = $task->getExecutionException(); 52 52 53 53 if ($ex) {