nsqm

package module
v0.0.0-...-9446c00 Latest Latest
Warning

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

Go to latest
Published: May 14, 2021 License: GPL-3.0 Imports: 5 Imported by: 0

README

go-nsqm

golang 消息队列

Documentation

Index

Constants

This section is empty.

Variables

View Source
var JobQueue chan Job

JobQueue 定义全部的工作队列

Functions

func InitNSQ

func InitNSQ()

InitNSQ InitNSQ

func InitPool

func InitPool(maxWorkers, maxQueue int)

InitPool 初始化对象池

func Publish

func Publish(topic string, message []byte) (err error)

Publish 发布消息

func StartProducter

func StartProducter()

StartProducter 初始化生产者

Types

type Job

type Job struct {
	Task Task
}

Job 定义工作结构体

type SendConsumer

type SendConsumer struct {
}

SendConsumer 发消息消费者

func (*SendConsumer) HandleMessage

func (sc *SendConsumer) HandleMessage(msg *nsq.Message) error

HandleMessage 处理消息

func (*SendConsumer) StartConsumer

func (sc *SendConsumer) StartConsumer()

StartConsumer 初始化消费者

type Sender

type Sender struct {
	WorkerPool chan chan Job // 注册工作通道
	// contains filtered or unexported fields
}

Sender 定义任务发送者

func NewSender

func NewSender(maxWorkers int) *Sender

NewSender 注册新发送者

func (*Sender) Quit

func (s *Sender) Quit()

Quit 退出发放工作

func (*Sender) Run

func (s *Sender) Run()

Run 工作分发器

func (*Sender) Send

func (s *Sender) Send()

Send 发送任务

type Task

type Task interface {
	DoTask() error
}

Task 定义任务接口,所有实现该接口的均实现工作池

type Worker

type Worker struct {
	WorkerPool chan chan Job // 工人对象池
	JobChannel chan Job      // 管道里面拿Job
	// contains filtered or unexported fields
}

Worker 定义工作者

func NewWorker

func NewWorker(workerPool chan chan Job) Worker

NewWorker 新建一个工作者

func (*Worker) StartWork

func (w *Worker) StartWork()

StartWork 工作池启动主函数

func (*Worker) Stop

func (w *Worker) Stop()

Stop 退出执行工作

Jump to

Keyboard shortcuts

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