postal

package
v0.0.0-...-ca24b28 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Boot

func Boot(mailClient func() *mail.Client, db *sql.DB, config Config)

Types

type Config

type Config struct {
	UAAClientID          string
	UAAClientSecret      string
	UAATokenValidator    *uaa.TokenValidator
	UAAHost              string
	VerifySSL            bool
	InstanceIndex        int
	WorkerCount          int
	EncryptionKey        []byte
	DBLoggingEnabled     bool
	RootPath             string
	Sender               string
	Domain               string
	QueueWaitMaxDuration int
	MaxQueueLength       int
	MaxRetries           int
	CCHost               string
}

type DeliveryJobProcessor

type DeliveryJobProcessor interface {
	Process(job *gobble.Job, logger lager.Logger) error
}

type DeliveryWorker

type DeliveryWorker struct {
	gobble.Worker

	DeliveryJobProcessor   DeliveryJobProcessor
	V2DeliveryJobProcessor v2DeliveryJobProcessor
	// contains filtered or unexported fields
}

func NewDeliveryWorker

func NewDeliveryWorker(v1DeliveryJobProcessor DeliveryJobProcessor, config DeliveryWorkerConfig) DeliveryWorker

func (DeliveryWorker) Deliver

func (worker DeliveryWorker) Deliver(job *gobble.Job)

type DeliveryWorkerConfig

type DeliveryWorkerConfig struct {
	ID                     int
	UAAHost                string
	Logger                 lager.Logger
	Queue                  gobble.QueueInterface
	DBTrace                bool
	Database               db.DatabaseInterface
	CampaignJobProcessor   campaignJobProcessor
	DeliveryFailureHandler deliveryFailureHandler
	MessageStatusUpdater   messageStatusUpdater
}

type MessageGC

type MessageGC struct {
	// contains filtered or unexported fields
}

func NewMessageGC

func NewMessageGC(lifetime time.Duration, db db.DatabaseInterface, messages messagesDeleter, pollingInterval time.Duration, logger *log.Logger) MessageGC

func (MessageGC) Collect

func (gc MessageGC) Collect()

func (MessageGC) Run

func (gc MessageGC) Run()

type Worker

type Worker interface {
	Work()
}

type WorkerGenerator

type WorkerGenerator struct {
	InstanceIndex int
	Count         int
}

func (WorkerGenerator) Work

func (w WorkerGenerator) Work(workerFunc func(id int) Worker)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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