pusher

package
v3.7.3-rc.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AvailableFeedbackReporters = map[string]feedbackReporterInitializer{
	"kafka": func(config *viper.Viper, logger *logrus.Logger) (interfaces.FeedbackReporter, error) {
		return extensions.NewKafkaProducer(config, logger)
	},
}

AvailableFeedbackReporters contains functions to initialize all feedback reporters

View Source
var AvailableStatsReporters = map[string]statsReporterInitializer{
	"statsd": func(config *viper.Viper, logger *logrus.Logger, clientOrNil interfaces.StatsDClient) (interfaces.StatsReporter, error) {
		return extensions.NewStatsD(config, logger, clientOrNil)
	},
}

AvailableStatsReporters contains functions to initialize all stats reporters

Functions

func GracefulShutdown added in v0.2.0

func GracefulShutdown(wg *sync.WaitGroup, timeout time.Duration)

GracefulShutdown waits for wg do complete then exits

func WaitTimeout added in v0.2.0

func WaitTimeout(wg *sync.WaitGroup, timeout time.Duration) bool

WaitTimeout waits for the waitgroup for the specified max timeout. Returns true if waiting timed out. got from http://stackoverflow.com/a/32843750/3987733

Types

type APNSPusher

type APNSPusher struct {
	Pusher
}

APNSPusher struct for apns pusher

func NewAPNSPusher

func NewAPNSPusher(
	isProduction bool,
	config *viper.Viper,
	logger *logrus.Logger,
	statsdClientOrNil interfaces.StatsDClient,
	db interfaces.DB,
	queueOrNil ...interfaces.APNSPushQueue,
) (*APNSPusher, error)

NewAPNSPusher for getting a new APNSPusher instance

type GCMPusher

type GCMPusher struct {
	Pusher
}

GCMPusher struct for GCM pusher

func NewGCMPusher

func NewGCMPusher(
	isProduction bool,
	config *viper.Viper,
	logger *logrus.Logger,
	statsdClientOrNil interfaces.StatsDClient,
	db interfaces.DB,
	clientOrNil ...interfaces.GCMClient,
) (*GCMPusher, error)

NewGCMPusher for getting a new GCMPusher instance

type Pusher

type Pusher struct {
	StatsReporters          []interfaces.StatsReporter
	Queue                   interfaces.Queue
	Config                  *viper.Viper
	GracefulShutdownTimeout int
	Logger                  *logrus.Logger
	MessageHandler          map[string]interfaces.MessageHandler

	IsProduction bool
	// contains filtered or unexported fields
}

Pusher struct for pusher

func (*Pusher) Start

func (p *Pusher) Start()

Start starts pusher

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL