MCPcopy Index your code
hub / github.com/codealong-dev/ride-sharing / Start

Method Start

shared/messaging/queue_consumer.go:24–68  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

22}
23
24func (qc *QueueConsumer) Start() error {
25 msgs, err := qc.rb.Channel.Consume(
26 qc.queueName,
27 "",
28 true,
29 false,
30 false,
31 false,
32 nil,
33 )
34 if err != nil {
35 return err
36 }
37
38 go func() {
39 for msg := range msgs {
40 var msgBody contracts.AmqpMessage
41 if err := json.Unmarshal(msg.Body, &msgBody); err != nil {
42 log.Println("Failed to unmarshal message:", err)
43 continue
44 }
45
46 userID := msgBody.OwnerID
47
48 var payload any
49 if msgBody.Data != nil {
50 if err := json.Unmarshal(msgBody.Data, &payload); err != nil {
51 log.Println("Failed to unmarshal payload:", err)
52 continue
53 }
54 }
55
56 clientMsg := contracts.WSMessage{
57 Type: msg.RoutingKey,
58 Data: payload,
59 }
60
61 if err := qc.connMgr.SendMessage(userID, clientMsg); err != nil {
62 log.Printf("Failed to send message to user %s: %v", userID, err)
63 }
64 }
65 }()
66
67 return nil
68}

Callers 7

handleRidersWebSocketFunction · 0.95
handleDriversWebSocketFunction · 0.95
handleTripStartFunction · 0.80
handleTripPreviewFunction · 0.80
handleStripeWebhookFunction · 0.80
TracedPublisherFunction · 0.80
TracedConsumerFunction · 0.80

Calls 1

SendMessageMethod · 0.80

Tested by

no test coverage detected