workerpoolhttp

package
v0.0.48 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package workerpoolhttp - реализация очереди http-запросов с обработкой переполнения

Index

Constants

This section is empty.

Variables

View Source
var (
	OptsRequiredErr = errors.New("opts required")
)

Functions

This section is empty.

Types

type Job

type Job struct {
	W       http.ResponseWriter
	R       *http.Request
	Handler http.Handler
	// contains filtered or unexported fields
}

Job - таск по обработке http запроса

type Queue

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

Queue - очередь http-запросов

func NewQueue

func NewQueue(opts *QueueOptions) (*Queue, error)

func (*Queue) AddJob

func (q *Queue) AddJob(job *Job)

func (*Queue) Close

func (q *Queue) Close()

func (*Queue) GetQueue

func (q *Queue) GetQueue() chan *Job

func (*Queue) Handler

func (q *Queue) Handler(handler http.Handler) http.Handler

Handler - получение функции для использования в качестве Middleware при настройке маршрутизации запросов

type QueueOptions

type QueueOptions struct {
	QueueSize                         int           // Размер очереди
	Timeout                           time.Duration // Таймаут добавления в очередь
	OverflowCode                      int           // Статус код ошибки переполнения очереди
	OverflowMsg                       proto.Message // Сообщение о переполнении
	OverflowMsgProto, OverflowMsgJson []byte        // Сериализованное сообщение о переполнении
}

QueueOptions - опции очереди

type Worker

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

func NewWorker

func NewWorker(queue chan *Job) *Worker

func (*Worker) Run

func (w *Worker) Run()

Run - функция, запускающая вечный цикл, который будет слушать очередь до ее закрытия

Jump to

Keyboard shortcuts

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