Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d1960a2

Browse files
committed
capture exit status extension
1 parent 69e7755 commit d1960a2

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Enqueue\Consumption\Extension;
4+
5+
use Enqueue\Consumption\Context\End;
6+
use Enqueue\Consumption\EndExtensionInterface;
7+
8+
class CaptureExitStatusExtension implements EndExtensionInterface
9+
{
10+
/**
11+
* @var int
12+
*/
13+
private $exitStatus;
14+
15+
/**
16+
* @var bool
17+
*/
18+
private $isExitStatusCaptured = false;
19+
20+
public function onEnd(End $context): void
21+
{
22+
$this->exitStatus = $context->getExitStatus();
23+
$this->isExitStatusCaptured = true;
24+
}
25+
26+
public function getExitStatus(): ?int
27+
{
28+
return $this->exitStatus;
29+
}
30+
31+
public function isExitStatusCaptured(): bool
32+
{
33+
return $this->isExitStatusCaptured;
34+
}
35+
}

pkg/enqueue/Symfony/Consumption/ConsumeCommand.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Enqueue\Symfony\Consumption;
44

55
use Enqueue\Consumption\ChainExtension;
6+
use Enqueue\Consumption\Extension\CaptureExitStatusExtension;
67
use Enqueue\Consumption\QueueConsumerInterface;
78
use Psr\Container\ContainerInterface;
89
use Psr\Container\NotFoundExceptionInterface;
@@ -75,9 +76,12 @@ protected function execute(InputInterface $input, OutputInterface $output): ?int
7576
array_unshift($extensions, $loggerExtension);
7677
}
7778

79+
$captureExitStatusExtension = new CaptureExitStatusExtension();
80+
array_unshift($extensions, $captureExitStatusExtension);
81+
7882
$consumer->consume(new ChainExtension($extensions));
7983

80-
return null;
84+
return $captureExitStatusExtension->getExitStatus();
8185
}
8286

8387
private function getQueueConsumer(string $name): QueueConsumerInterface

0 commit comments

Comments
 (0)