Интеграция Sentry Queue с мессенджером SymfonyPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Интеграция Sentry Queue с мессенджером Symfony

Сообщение Anonymous »

Я пытаюсь настроить Symfony Messenger с Sentry Queues, но какое-то время безуспешно. Я не могу найти в Интернете ресурсы по этой конкретной теме. Я пытаюсь использовать пример, предоставленный Sentry, и изменил его, чтобы он не зависел от сообщений (по крайней мере, я так думаю). Но даже тот, который кажется самым простым примером, не помещает очереди на вкладку «Очередь дозорных».

Код: Выделить всё

public function sendMessageToTransport(SendMessageToTransportsEvent $event): void
{
$parentSpan = \Sentry\SentrySdk::getCurrentHub()->getSpan();

if ($parentSpan !== null) {
$context = \Sentry\Tracing\SpanContext::make()
->setOp('queue.publish')
->setDescription(SendQuestionConfirmationEmail::class);

$span = $parentSpan->startChild($context);

\Sentry\SentrySdk::getCurrentHub()->setSpan($span);

// Publish your job to the queue
/*Queue::push($job, [
'publish_time' => microtime(true),
'sentry_trace' => \Sentry\getTraceparent(),
'baggage' => \Sentry\getBaggage(),
]);*/

$span
->setData([
'messaging.message.id' => '1',
'messaging.destination.name' => 'default',
'messaging.message.body.size' => 200,
])
->finish();

\Sentry\SentrySdk::getCurrentHub()->setSpan($parentSpan);
}

$context = \Sentry\continueTrace(
\Sentry\getTraceparent(),
\Sentry\getBaggage()
)->setOp('queue.process')->setName(SendQuestionConfirmationEmail::class);

$transaction = \Sentry\startTransaction($context);

\Sentry\SentrySdk::getCurrentHub()->setSpan($transaction);

try {
// Continue job processing...
} catch (\Throwable $e) {
$transaction->setStatus(\Sentry\Tracing\SpanStatus::internalError());
}

$transaction
->setData([
'messaging.message.id' => 1,
'messaging.destination.name' => 'default',
'messaging.message.body.size' => 200,
'messaging.message.receive.latency' => 10,
'messaging.message.retry.count' => 1,
])
->finish();
dump("done");

}
Обратите внимание: я знаю, что это абсолютно ужасный код, мне просто нужно было заставить его где-то работать, и в итоге это оказалось именно этим местом
Я поместил все в обработчик событий, и вот результат часовых попыток. Я уверен, что событие срабатывает нормально, а также что мой часовой работает. (ошибки выводятся нормально)
Есть ли у кого-нибудь опыт работы с этим?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -messenger
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»