Skip to content

Commit 439dd58

Browse files
committed
Wrap Throwables in RuntimeExceptions in Signals
in order to keep B/C
1 parent 5c0b290 commit 439dd58

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

Classes/Job/JobManager.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,13 @@ public function waitAndExecute(string $queueName, $timeout = null): ?Message
134134
if ($message->getNumberOfReleases() < $maximumNumberOfReleases) {
135135
$releaseOptions = isset($queueSettings['releaseOptions']) ? $queueSettings['releaseOptions'] : [];
136136
$queue->release($message->getIdentifier(), $releaseOptions);
137-
$this->emitMessageReleased($queue, $message, $releaseOptions, $throwable);
137+
$this->emitMessageReleased($queue, $message, $releaseOptions, new \RuntimeException($throwable->getMessage(), 1659019014, $throwable));
138138
$logMessage = $this->throwableStorage->logThrowable($throwable);
139139
$this->logger->error($logMessage, LogEnvironment::fromMethodName(__METHOD__));
140140
throw new JobQueueException(sprintf('Job execution for job (message: "%s", queue: "%s") failed (%d/%d trials) - RELEASE', $message->getIdentifier(), $queue->getName(), $message->getNumberOfReleases() + 1, $maximumNumberOfReleases + 1), 1334056583, $throwable);
141141
} else {
142142
$queue->abort($message->getIdentifier());
143-
$this->emitMessageFailed($queue, $message, $throwable);
143+
$this->emitMessageFailed($queue, $message, new \RuntimeException($throwable->getMessage(), 1659019015, $throwable));
144144
$logMessage = $this->throwableStorage->logThrowable($throwable);
145145
$this->logger->error($logMessage, LogEnvironment::fromMethodName(__METHOD__));
146146
throw new JobQueueException(sprintf('Job execution for job (message: "%s", queue: "%s") failed (%d/%d trials) - ABORTING', $message->getIdentifier(), $queue->getName(), $message->getNumberOfReleases() + 1, $maximumNumberOfReleases + 1), 1334056584, $throwable);
@@ -253,12 +253,12 @@ protected function emitMessageFinished(QueueInterface $queue, Message $message):
253253
* @param QueueInterface $queue The queue the released message belongs to
254254
* @param Message $message The message that was released to the queue again
255255
* @param array $releaseOptions The options that were passed to the release call
256-
* @param \Throwable|null $jobExecutionThrowable The exception or error (if any) thrown by the job execution
256+
* @param \Exception|null $jobExecutionException The exception (if any) thrown by the job execution
257257
* @return void
258258
* @Flow\Signal
259259
* @api
260260
*/
261-
protected function emitMessageReleased(QueueInterface $queue, Message $message, array $releaseOptions, \Throwable $jobExecutionThrowable = null): void
261+
protected function emitMessageReleased(QueueInterface $queue, Message $message, array $releaseOptions, \Exception $jobExecutionException = null): void
262262
{
263263
}
264264

@@ -267,12 +267,12 @@ protected function emitMessageReleased(QueueInterface $queue, Message $message,
267267
*
268268
* @param QueueInterface $queue The queue the failed message belongs to
269269
* @param Message $message The message that could not be executed successfully
270-
* @param \Throwable|null $jobExecutionThrowable The exception or error (if any) thrown by the job execution
270+
* @param \Exception|null $jobExecutionException The exception (if any) thrown by the job execution
271271
* @return void
272272
* @Flow\Signal
273273
* @api
274274
*/
275-
protected function emitMessageFailed(QueueInterface $queue, Message $message, \Throwable $jobExecutionThrowable = null): void
275+
protected function emitMessageFailed(QueueInterface $queue, Message $message, \Exception $jobExecutionException = null): void
276276
{
277277
}
278278

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ class Package extends BasePackage
371371
372372
$dispatcher->connect(
373373
JobManager::class, 'messageFailed',
374-
function(QueueInterface $queue, Message $message, \Throwable $jobExecutionException = null) use ($bootstrap) {
374+
function(QueueInterface $queue, Message $message, \Exception $jobExecutionException = null) use ($bootstrap) {
375375
$additionalData = [
376376
'queue' => $queue->getName(),
377377
'message' => $message->getIdentifier()

0 commit comments

Comments
 (0)