diff --git a/src/Appwrite/Platform/Workers/Builds.php b/src/Appwrite/Platform/Workers/Builds.php index 882ced85b1..a4f0588c64 100644 --- a/src/Appwrite/Platform/Workers/Builds.php +++ b/src/Appwrite/Platform/Workers/Builds.php @@ -471,8 +471,9 @@ class Builds extends Action $executor->getLogs( deploymentId: $deployment->getId(), projectId: $project->getId(), - callback: function ($logs) use (&$response, &$build, $dbForProject, $allEvents, $project) { - if ($response === null) { + callback: function ($logs) use (&$response, &$err, &$build, $dbForProject, $allEvents, $project) { + // If we have response or error from concurrent coroutine, we already have latest logs + if ($response === null && $err === null) { $build = $dbForProject->getDocument('builds', $build->getId()); if ($build->isEmpty()) { @@ -575,7 +576,7 @@ class Builds extends Action $build->setAttribute('endTime', $endTime); $build->setAttribute('duration', \intval(\ceil($durationEnd - $durationStart))); $build->setAttribute('status', 'failed'); - $build->setAttribute('logs', $th->getMessage() . "\n" . $th->getFile() . ':' . $th->getLine() . "\n" . $th->getTraceAsString()); + $build->setAttribute('logs', $th->getMessage()); if ($isVcsEnabled) { $this->runGitAction('failed', $github, $providerCommitHash, $owner, $repositoryName, $project, $function, $deployment->getId(), $dbForProject, $dbForConsole);