diff --git a/ProcessMaker/Http/Controllers/AboutController.php b/ProcessMaker/Http/Controllers/AboutController.php index a65afb5807..42115422e9 100644 --- a/ProcessMaker/Http/Controllers/AboutController.php +++ b/ProcessMaker/Http/Controllers/AboutController.php @@ -4,6 +4,7 @@ use Exception; use Illuminate\Foundation\PackageManifest; +use Illuminate\Http\Client\RequestException; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; @@ -74,6 +75,8 @@ public function index() $microServices = [$aiMicroService]; } + $microServices[] = $this->getScriptMicroService(); + $nayraMicroService = $this->getNayraMicroServiceAbout(); if ($nayraMicroService) { $microServices[] = $nayraMicroService; @@ -98,6 +101,29 @@ public function index() ); } + private function getScriptMicroService() + { + $info = [ + 'name' => 'Script Microservice', + 'description' => 'Execute scripts in ProcessMaker', + 'status' => 'Disabled', + ]; + + if (config('script-runner-microservice.enabled')) { + $baseUrl = config('script-runner-microservice.base_url'); + try { + $response = Http::timeout(3) + ->get($baseUrl . '/accept-traffic') + ->throw(); + $info['status'] = $response->json()['message'] . ". Microservice is running at $baseUrl"; + } catch (Exception $e) { + $info['status'] = "Error connecting to $baseUrl: " . $e->getMessage(); + } + } + + return $info; + } + private function getAiMicroService() { if (hasPackage('package-ai')) { diff --git a/resources/views/about/microservices.blade.php b/resources/views/about/microservices.blade.php index ea2e35b48a..3c8841ff1e 100644 --- a/resources/views/about/microservices.blade.php +++ b/resources/views/about/microservices.blade.php @@ -10,6 +10,9 @@ @if (isset($microService['version']))
Version: {{ $microService['version'] }}
@endif + @if (isset($microService['status'])) +
Status: {{ $microService['status'] }}
+ @endif @if (!empty($microService['waiting']))