@@ -131,7 +131,7 @@ func (svc *MessageProcessor) Close() error {
131131}
132132
133133// processMessage from the queue
134- func (svc * MessageProcessor ) processMessage (item interface {}) {
134+ func (svc * MessageProcessor ) processMessage (item interface {}) error {
135135 msg := item .(* msgTY.Message )
136136 svc .logger .Debug ("Starting Message Processing" , zap .Any ("message" , msg ))
137137
@@ -142,6 +142,7 @@ func (svc *MessageProcessor) processMessage(item interface{}) {
142142 err := svc .setFieldData (msg )
143143 if err != nil {
144144 svc .logger .Error ("error on field data set" , zap .Error (err ))
145+ return err // Requeue on error
145146 }
146147 // update last seen
147148 svc .updateSourceLastSeen (msg .GatewayID , msg .NodeID , msg .SourceID , msg .Timestamp )
@@ -151,12 +152,14 @@ func (svc *MessageProcessor) processMessage(item interface{}) {
151152 err := svc .requestFieldData (msg )
152153 if err != nil {
153154 svc .logger .Error ("error on field data request" , zap .Error (err ))
155+ return err // Requeue on error
154156 }
155157
156158 case msgTY .TypePresentation : // update source data, like name or other details
157159 err := svc .updateSourceDetail (msg )
158160 if err != nil {
159161 svc .logger .Error ("error on source data update" , zap .Error (err ))
162+ return err // Requeue on error
160163 }
161164 // update last seen
162165 svc .updateSourceLastSeen (msg .GatewayID , msg .NodeID , msg .SourceID , msg .Timestamp )
@@ -172,6 +175,7 @@ func (svc *MessageProcessor) processMessage(item interface{}) {
172175 err := svc .updateNodeData (msg )
173176 if err != nil {
174177 svc .logger .Error ("error on node data update" , zap .Error (err ))
178+ return err // Requeue on error
175179 }
176180 // node last seen managed in updateNodeData
177181
@@ -194,6 +198,7 @@ func (svc *MessageProcessor) processMessage(item interface{}) {
194198 }
195199
196200 svc .logger .Debug ("message processed" , zap .String ("timeTaken" , time .Since (msg .Timestamp ).String ()), zap .Any ("message" , msg ))
201+ return nil
197202}
198203
199204// update node detail
0 commit comments