From 4d09a46fe3eeb637c64024e1f899ddca5069010b Mon Sep 17 00:00:00 2001 From: Stefan Graupner Date: Thu, 23 Nov 2017 11:47:39 +0100 Subject: [PATCH] refs #31: Configure the validation queue job --- lib/Spec/Jobs/ValidatorRunJob.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/Spec/Jobs/ValidatorRunJob.php b/lib/Spec/Jobs/ValidatorRunJob.php index 8a2c221b..d2890c84 100644 --- a/lib/Spec/Jobs/ValidatorRunJob.php +++ b/lib/Spec/Jobs/ValidatorRunJob.php @@ -3,7 +3,9 @@ namespace OParl\Spec\Jobs; use App\Jobs\Job; +use EFrane\HubSync\Repository; use Illuminate\Contracts\Logging\Log; +use Illuminate\Contracts\Filesystem\Filesystem; use Symfony\Component\Process\Process; class ValidatorRunJob extends Job @@ -42,17 +44,26 @@ public function __construct($endpoint, $email, $canSaveData) $this->canSaveData = $canSaveData; } - public function handle(Log $log) + public function handle(Log $log, Filesystem $fs) { $this->log = $log; + $log->info("Beginning Validation for {$this->endpoint}"); + + $validatorRepo = new Repository($fs, 'oparl_validator', ''); $validatorCmd = sprintf('./validate -fjson "%s"', $this->endpoint); + $validator = new Process($validatorCmd); - $validator->start(); + $validator->setEnv([ + 'PATH' => "{$validatorRepo->getAbsolutePath()}:/usr/local/bin:/usr/bin" + ]); + $validator->setWorkingDirectory($validatorRepo->getAbsolutePath()); - foreach ($validator as $type => $data) { - $this->handleProgress($type, $data); - } + $log->debug("Validator working directory: {$validator->getWorkingDirectory()}"); + $log->debug("Validator command line: {$validator->getCommandLine()}"); + $log->debug("Validator Environment", $validator->getEnv()); + + $validator->run([&$this, 'handleProgress']); } public function handleProgress($type, $data) @@ -65,6 +76,7 @@ public function handleProgress($type, $data) } break; case Process::ERR: + $this->log->error($data); break; } }