Symfony Messenger集成Sentry Queue遇阻,求经验者指导
Symfony Messenger 与 Sentry Queues 集成问题
我尝试将Symfony Messenger与Sentry Queues集成已有一段时间,但始终未能成功,且网上找不到相关参考资料。我参考Sentry提供的示例修改了代码(已移除对消息的依赖),但即使是最简示例,也无法在Sentry的队列面板中显示队列。我将代码放在事件处理器中,确认事件能正常触发,且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"); }
注:我知道这段代码很糟糕,只是为了测试让它能运行起来
请问有谁有相关集成经验吗?
内容的提问来源于stack exchange,提问作者krystof18
相关产品推荐
相关产品推荐

