limiter

package
v0.0.0-...-99e48b3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2020 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SecondKind - секундный тип ограничения
	SecondKind Kind = "second"
	// MinuteKind - минутный тип ограничения
	MinuteKind = "minute"
	// HourKind - часовое ограничение
	HourKind = "hour"
	// DayKind - ограничение на день
	DayKind = "day"
)

Variables

This section is empty.

Functions

func Inst

func Inst() common.SendingService

Inst создает сервис ограничений

Types

type Cleaner

type Cleaner struct{}

Cleaner чистильщик, проверяет значения ограничений и обнуляет значения ограничений

type Kind

type Kind string

Kind тип ограничения

type Limit

type Limit struct {
	// максимально допустимое количество писем
	Value int32 `json:"value"`

	// тип ограничения
	Kind Kind `json:"type"`
	// contains filtered or unexported fields
}

Limit ограничение

type Limiter

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

Limiter ограничитель, проверяет количество отправленных писем почтовому сервису

type Service

type Service struct {
	// количество горутин проверяющих количество отправленных писем
	LimitersCount int `yaml:"workers"`

	// ограничения для почтовых сервисов, в качестве ключа используется домен
	Limits map[string]*Limit `yaml:"limits"`
}

Service сервис ограничений, следит за тем, чтобы почтовым сервисам не отправилось больше писем, чем нужно

func (*Service) Events

func (s *Service) Events() chan *common.SendEvent

Events канал для приема событий отправки писем

func (*Service) OnFinish

func (s *Service) OnFinish()

OnFinish завершает работу сервиса соединений

func (*Service) OnInit

func (s *Service) OnInit(event *common.ApplicationEvent)

OnInit инициализирует сервис

func (*Service) OnRun

func (s *Service) OnRun()

OnRun запускает проверку ограничений и очистку значений лимитов

Jump to

Keyboard shortcuts

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