chore(NSQ): remove nsq package and update run func (#614)
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
		
							parent
							
								
									0b0f47e4f9
								
							
						
					
					
						commit
						e08e4c09ca
					
				
							
								
								
									
										3
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										3
									
								
								go.mod
								
								
								
								
							| 
						 | 
				
			
			@ -7,7 +7,7 @@ require (
 | 
			
		|||
	github.com/appleboy/gin-status-api v1.1.0
 | 
			
		||||
	github.com/appleboy/go-fcm v0.1.5
 | 
			
		||||
	github.com/appleboy/gofight/v2 v2.1.2
 | 
			
		||||
	github.com/appleboy/queue v0.0.3
 | 
			
		||||
	github.com/appleboy/queue v0.0.4-0.20210725000413-1085ecaca645
 | 
			
		||||
	github.com/asdine/storm/v3 v3.2.1
 | 
			
		||||
	github.com/buger/jsonparser v1.1.1
 | 
			
		||||
	github.com/dgraph-io/badger/v3 v3.2103.1
 | 
			
		||||
| 
						 | 
				
			
			@ -21,7 +21,6 @@ require (
 | 
			
		|||
	github.com/mattn/go-isatty v0.0.12
 | 
			
		||||
	github.com/mitchellh/mapstructure v1.4.1
 | 
			
		||||
	github.com/msalihkarakasli/go-hms-push v0.0.0-20200616114002-91cd23dfeed4
 | 
			
		||||
	github.com/nsqio/go-nsq v1.0.8
 | 
			
		||||
	github.com/prometheus/client_golang v1.10.0
 | 
			
		||||
	github.com/rs/zerolog v1.23.0
 | 
			
		||||
	github.com/sideshow/apns2 v0.20.0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										4
									
								
								go.sum
								
								
								
								
							| 
						 | 
				
			
			@ -40,8 +40,8 @@ github.com/appleboy/go-fcm v0.1.5 h1:fKbcZf/7vwGsvDkcop8a+kCHnK+tt4wXX0X7uEzwI6E
 | 
			
		|||
github.com/appleboy/go-fcm v0.1.5/go.mod h1:MSxZ4LqGRsnywOjnlXJXMqbjZrG4vf+0oHitfC9HRH0=
 | 
			
		||||
github.com/appleboy/gofight/v2 v2.1.2 h1:VOy3jow4vIK8BRQJoC/I9muxyYlJ2yb9ht2hZoS3rf4=
 | 
			
		||||
github.com/appleboy/gofight/v2 v2.1.2/go.mod h1:frW+U1QZEdDgixycTj4CygQ48yLTUhplt43+Wczp3rw=
 | 
			
		||||
github.com/appleboy/queue v0.0.3 h1:rntqVTm6ilh80VCVQjwA0vDMCl1cfveq6GS6X98fKwE=
 | 
			
		||||
github.com/appleboy/queue v0.0.3/go.mod h1:6Mn0z4hURZW/26huvRXG0SJ4o7pBdo6hOryRiegy/4Q=
 | 
			
		||||
github.com/appleboy/queue v0.0.4-0.20210725000413-1085ecaca645 h1:RpjX4HMSLsrQsxsCQN2pAbPDZWOtpX3dqLnoK0+UzLY=
 | 
			
		||||
github.com/appleboy/queue v0.0.4-0.20210725000413-1085ecaca645/go.mod h1:6Mn0z4hURZW/26huvRXG0SJ4o7pBdo6hOryRiegy/4Q=
 | 
			
		||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
 | 
			
		||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 | 
			
		||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										21
									
								
								main.go
								
								
								
								
							
							
						
						
									
										21
									
								
								main.go
								
								
								
								
							| 
						 | 
				
			
			@ -2,7 +2,6 @@ package main
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"flag"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"log"
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +25,6 @@ import (
 | 
			
		|||
	"github.com/appleboy/queue"
 | 
			
		||||
	"github.com/appleboy/queue/nsq"
 | 
			
		||||
	"github.com/appleboy/queue/simple"
 | 
			
		||||
	n "github.com/nsqio/go-nsq"
 | 
			
		||||
	"golang.org/x/sync/errgroup"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -324,10 +322,7 @@ func main() {
 | 
			
		|||
	case core.LocalQueue:
 | 
			
		||||
		w = simple.NewWorker(
 | 
			
		||||
			simple.WithQueueNum(int(cfg.Core.QueueNum)),
 | 
			
		||||
			simple.WithRunFunc(func(msg queue.QueuedMessage) error {
 | 
			
		||||
				notify.SendNotification(msg)
 | 
			
		||||
				return nil
 | 
			
		||||
			}),
 | 
			
		||||
			simple.WithRunFunc(notify.Run),
 | 
			
		||||
		)
 | 
			
		||||
	case core.NSQ:
 | 
			
		||||
		w = nsq.NewWorker(
 | 
			
		||||
| 
						 | 
				
			
			@ -335,19 +330,7 @@ func main() {
 | 
			
		|||
			nsq.WithTopic(cfg.Queue.NSQ.Topic),
 | 
			
		||||
			nsq.WithChannel(cfg.Queue.NSQ.Channel),
 | 
			
		||||
			nsq.WithMaxInFlight(int(cfg.Core.WorkerNum)),
 | 
			
		||||
			nsq.WithRunFunc(func(msg *n.Message) error {
 | 
			
		||||
				if len(msg.Body) == 0 {
 | 
			
		||||
					// Returning nil will automatically send a FIN command to NSQ to mark the message as processed.
 | 
			
		||||
					// In this case, a message with an empty body is simply ignored/discarded.
 | 
			
		||||
					return nil
 | 
			
		||||
				}
 | 
			
		||||
				var notification *notify.PushNotification
 | 
			
		||||
				if err := json.Unmarshal(msg.Body, ¬ification); err != nil {
 | 
			
		||||
					return err
 | 
			
		||||
				}
 | 
			
		||||
				notify.SendNotification(notification)
 | 
			
		||||
				return nil
 | 
			
		||||
			}),
 | 
			
		||||
			nsq.WithRunFunc(notify.Run),
 | 
			
		||||
		)
 | 
			
		||||
	default:
 | 
			
		||||
		logx.LogError.Fatalf("we don't support queue engine: %s", cfg.Queue.Engine)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -254,7 +254,12 @@ func CheckPushConf(cfg config.ConfYaml) error {
 | 
			
		|||
 | 
			
		||||
// SendNotification send notification
 | 
			
		||||
func SendNotification(req queue.QueuedMessage) {
 | 
			
		||||
	v, _ := req.(*PushNotification)
 | 
			
		||||
	v, ok := req.(*PushNotification)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		if err := json.Unmarshal(req.Bytes(), v); err != nil {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	defer func() {
 | 
			
		||||
		v.WaitDone()
 | 
			
		||||
| 
						 | 
				
			
			@ -269,3 +274,9 @@ func SendNotification(req queue.QueuedMessage) {
 | 
			
		|||
		PushToHuawei(*v)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Run send notification
 | 
			
		||||
var Run = func(msg queue.QueuedMessage) error {
 | 
			
		||||
	SendNotification(msg)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue