luoyangwei 1 年之前
父节点
当前提交
06055f0360
共有 1 个文件被更改,包括 29 次插入52 次删除
  1. 29 52
      server/fcm.go

+ 29 - 52
server/fcm.go

@@ -146,63 +146,40 @@ func (f *FirebaseMessageServer) queueRun(ctx context.Context) {
 					}
 				}
 
-				timeoutCtx, cannel := context.WithCancel(ctx)
-				go func(ctx context.Context, queue models.FirebaseMessagingQueue) {
-					defer cannel()
-
-					receiver := queue.Receiver
-					firebaseToken, err := f.repos.FirebaseMessageRepository.GetFirebaseToken(ctx, receiver)
-					if err != nil {
-						if eris.Is(err, models.ErrRecordNotFound) {
-							return
-						}
-						zap.L().Error("unable to find firebase message database",
-							zap.Error(err),
-							zap.String("user_id", receiver))
+				receiver := queue.Receiver
+				firebaseToken, err := f.repos.FirebaseMessageRepository.GetFirebaseToken(ctx, receiver)
+				if err != nil {
+					if eris.Is(err, models.ErrRecordNotFound) {
 						return
 					}
+					zap.L().Error("unable to find firebase message database",
+						zap.Error(err),
+						zap.String("user_id", receiver))
+					return
+				}
 
-					// aps := map[string]interface{}{
-					// 	"alert": map[string]interface{}{
-					// 		"title": queue.Title,
-					// 		"body":  queue.Body,
-					// 	},
-					// }
-					// apsBuf, _ := json.Marshal(aps)
-					msg := &messaging.Message{
-						Token: firebaseToken.Token,
-						Data: map[string]string{
-							// "aps":     string(apsBuf),
-							"message": queue.Data,
-						},
-						Notification: &messaging.Notification{
-							Title: queue.Title,
-							Body:  queue.Body,
-						},
-					}
-
-					zap.L().Info("[firebase] Send", zap.Any("msg", msg), zap.String("user_id", receiver))
-					var resultName string
-					if resultName, err = client.Send(ctx, msg); err != nil {
-						zap.L().Error("[firebase] 发送错误", zap.Error(err), zap.String("user_id", receiver))
-						return
-					}
-
-					zap.L().Info("[firebase] Ack", zap.String("user_id", receiver))
-					client.Send(ctx, &messaging.Message{})
-
-					zap.L().Info("[firebase] Successfully",
-						zap.Any("msg", msg),
-						zap.String("user_id", receiver),
-						zap.String("result", resultName))
-				}(timeoutCtx, queue)
+				msg := &messaging.Message{
+					Token: firebaseToken.Token,
+					Data: map[string]string{
+						"message": queue.Data,
+					},
+					Notification: &messaging.Notification{
+						Title: queue.Title,
+						Body:  queue.Body,
+					},
+				}
 
-				select {
-				case <-timeoutCtx.Done():
-					_ = f.repos.FirebaseMessageQueueRepository.Delete(ctx, queue.ID)
-				case <-time.After(time.Duration(4 * time.Second)):
-					zap.L().Error("[firebase] timeout", zap.Any("queue", queue))
+				zap.L().Info("[firebase] Send", zap.Any("msg", msg), zap.String("user_id", receiver))
+				var resultName string
+				if resultName, err = client.Send(ctx, msg); err != nil {
+					zap.L().Error("[firebase] 发送错误", zap.Error(err), zap.String("user_id", receiver))
+					return
 				}
+
+				zap.L().Info("[firebase] Successfully",
+					zap.Any("msg", msg),
+					zap.String("user_id", receiver),
+					zap.String("result", resultName))
 			}
 		}
 	}