Skip to content

Commit a435753

Browse files
authored
Merge pull request #153 from getsentry/feat-listen-queue-events
Listen for queue events
2 parents 0d49fca + e0da896 commit a435753

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

src/Sentry/SentryLaravel/SentryLaravelEventHandler.php

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
use Illuminate\Routing\Route;
88
use Illuminate\Log\Events\MessageLogged;
99
use Illuminate\Auth\Events\Authenticated;
10+
use Illuminate\Queue\Events\JobProcessed;
11+
use Illuminate\Queue\Events\JobProcessing;
1012
use Illuminate\Routing\Events\RouteMatched;
1113
use Illuminate\Contracts\Events\Dispatcher;
1214
use Illuminate\Database\Events\QueryExecuted;
@@ -30,6 +32,9 @@ class SentryLaravelEventHandler
3032
'illuminate.log' => 'log', // Until Laravel 5.3
3133
'Illuminate\Log\Events\MessageLogged' => 'messageLogged', // Since Laravel 5.4
3234

35+
'Illuminate\Queue\Events\JobProcessed' => 'queueJobProcessed', // since Laravel 5.2
36+
'Illuminate\Queue\Events\JobProcessing' => 'queueJobProcessing', // since Laravel 5.2
37+
3338
'Illuminate\Console\Events\CommandStarting' => 'commandStarting', // Since Laravel 5.5
3439
'Illuminate\Console\Events\CommandFinished' => 'commandFinished', // Since Laravel 5.5
3540
);
@@ -240,6 +245,44 @@ protected function authenticatedHandler(Authenticated $event)
240245
));
241246
}
242247

248+
/**
249+
* Since Laravel 5.2
250+
*
251+
* @param \Illuminate\Queue\Events\JobProcessed $event
252+
*/
253+
protected function queueJobProcessedHandler(JobProcessed $event)
254+
{
255+
$this->client->sendUnsentErrors();
256+
257+
$this->client->breadcrumbs->reset();
258+
}
259+
260+
/**
261+
* Since Laravel 5.2
262+
*
263+
* @param \Illuminate\Queue\Events\JobProcessing $event
264+
*/
265+
protected function queueJobProcessingHandler(JobProcessing $event)
266+
{
267+
$job = [
268+
'job' => $event->job->getName(),
269+
'queue' => $event->job->getQueue(),
270+
'attempts' => $event->job->attempts(),
271+
'connection' => $event->connectionName,
272+
];
273+
274+
// Resolve name exists only from Laravel 5.3+
275+
if (method_exists($event->job, 'resolveName')) {
276+
$job['resolved'] = $event->job->resolveName();
277+
}
278+
279+
$this->client->breadcrumbs->record([
280+
'category' => 'queue.job',
281+
'message' => 'Processing queue job',
282+
'data' => $job,
283+
]);
284+
}
285+
243286
/**
244287
* Since Laravel 5.5
245288
*

0 commit comments

Comments
 (0)