You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.3 KiB
61 lines
1.3 KiB
4 years ago
|
/*
|
||
|
** description("").
|
||
|
** copyright('open-im,www.open-im.io').
|
||
|
** author("fg,Gordon@open-im.io").
|
||
|
** time(2021/3/22 15:33).
|
||
|
*/
|
||
2 years ago
|
package push
|
||
4 years ago
|
|
||
|
import (
|
||
2 years ago
|
fcm "Open_IM/internal/push/fcm"
|
||
3 years ago
|
"Open_IM/internal/push/getui"
|
||
|
jpush "Open_IM/internal/push/jpush"
|
||
3 years ago
|
"Open_IM/pkg/common/config"
|
||
3 years ago
|
"Open_IM/pkg/common/constant"
|
||
2 years ago
|
"Open_IM/pkg/common/prome"
|
||
3 years ago
|
"Open_IM/pkg/statistics"
|
||
|
"fmt"
|
||
4 years ago
|
)
|
||
|
|
||
|
var (
|
||
2 years ago
|
rpcServer RPCServer
|
||
2 years ago
|
pushCh ConsumerHandler
|
||
|
offlinePusher OfflinePusher
|
||
2 years ago
|
successCount uint64
|
||
4 years ago
|
)
|
||
|
|
||
|
func Init(rpcPort int) {
|
||
|
rpcServer.Init(rpcPort)
|
||
|
pushCh.Init()
|
||
2 years ago
|
|
||
4 years ago
|
}
|
||
|
func init() {
|
||
3 years ago
|
statistics.NewStatistics(&successCount, config.Config.ModuleName.PushName, fmt.Sprintf("%d second push to msg_gateway count", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval)
|
||
2 years ago
|
if *config.Config.Push.Getui.Enable {
|
||
3 years ago
|
offlinePusher = getui.GetuiClient
|
||
|
}
|
||
|
if config.Config.Push.Jpns.Enable {
|
||
|
offlinePusher = jpush.JPushClient
|
||
|
}
|
||
2 years ago
|
|
||
|
if config.Config.Push.Fcm.Enable {
|
||
2 years ago
|
offlinePusher = fcm.NewFcm()
|
||
2 years ago
|
}
|
||
4 years ago
|
}
|
||
|
|
||
2 years ago
|
func initPrometheus() {
|
||
2 years ago
|
prome.NewMsgOfflinePushSuccessCounter()
|
||
|
prome.NewMsgOfflinePushFailedCounter()
|
||
2 years ago
|
}
|
||
|
|
||
2 years ago
|
func Run(promethuesPort int) {
|
||
4 years ago
|
go rpcServer.run()
|
||
2 years ago
|
go pushCh.ConsumerGroup.RegisterHandleAndConsumer(&pushCh)
|
||
2 years ago
|
go func() {
|
||
2 years ago
|
err := prome.StartPromeSrv(promethuesPort)
|
||
2 years ago
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}()
|
||
4 years ago
|
}
|