server

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2021 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(c config.Config) Client

func (*Client) Clone

func (c *Client) Clone() *Client

func (*Client) GetResult

func (c *Client) GetResult(taskId string, timeout time.Duration, sleepTime time.Duration) (message.Result, error)

taskId: timeout: sleepDuration:

func (*Client) GetStatus

func (c *Client) GetStatus(taskId string, timeout time.Duration, sleepTime time.Duration) (int, error)

taskId: timeout: sleepDuration:

func (*Client) NewPromise

func (c *Client) NewPromise(taskId string, handle InvarParamFunc, timeout time.Duration, sleepTime time.Duration) *Promise

func (*Client) Send

func (c *Client) Send(groupName string, workerName string, args ...interface{}) (string, error)

return: taskId, err

func (*Client) SetTaskCtl

func (c *Client) SetTaskCtl(name int, value interface{}) *Client

type DelayServer

type DelayServer struct {
	sync.Map
	// contains filtered or unexported fields
}

func NewDelayServer

func NewDelayServer(groupName string, c config.Config, msgChan chan message.Message) DelayServer

func (*DelayServer) BackendActivate

func (b *DelayServer) BackendActivate()

func (*DelayServer) BrokerActivate

func (b *DelayServer) BrokerActivate()

func (*DelayServer) GetBackendPoolSize

func (b *DelayServer) GetBackendPoolSize() int

func (*DelayServer) GetBrokerPoolSize

func (b *DelayServer) GetBrokerPoolSize() int

func (DelayServer) GetDelayGroupName

func (b DelayServer) GetDelayGroupName(groupName string) string

func (*DelayServer) GetDelayMsgGoroutine

func (s *DelayServer) GetDelayMsgGoroutine()

获取延时任务到本地队列

func (*DelayServer) GetDelayMsgGoroutine_UpdateQueue

func (s *DelayServer) GetDelayMsgGoroutine_UpdateQueue(msg message.Message)

func (DelayServer) GetQueueName

func (b DelayServer) GetQueueName(groupName string) string

func (*DelayServer) GetReadyMsgGoroutine

func (s *DelayServer) GetReadyMsgGoroutine()

从本地队列中获取到处理时间的任务,发送到readyMsgChan

func (*DelayServer) GetReadyMsgGoroutine_Send

func (s *DelayServer) GetReadyMsgGoroutine_Send(msg message.Message) (err error)

func (*DelayServer) GetResult

func (b *DelayServer) GetResult(id string) (message.Result, error)

func (*DelayServer) IsRunning

func (s *DelayServer) IsRunning() bool

func (*DelayServer) IsStop

func (s *DelayServer) IsStop() bool

func (*DelayServer) LSendMsg

func (b *DelayServer) LSendMsg(groupName string, msg message.Message) error

func (*DelayServer) LSendQueue

func (s *DelayServer) LSendQueue()

func (*DelayServer) Next

func (b *DelayServer) Next(groupName string) (message.Message, error)

func (*DelayServer) Run

func (s *DelayServer) Run()

func (*DelayServer) Send

func (b *DelayServer) Send(groupName string, workerName string, ctl controller.TaskCtl, args ...interface{}) (string, error)

send msg to Queue t.Send("groupName", "workerName" , 1,"hi",1.2)

func (*DelayServer) SendMsg

func (b *DelayServer) SendMsg(groupName string, msg message.Message) error

func (*DelayServer) SendReadyMsgGoroutine

func (s *DelayServer) SendReadyMsgGoroutine()

从readyMsgChan中读取任务,传给inlineServer的Chan处理

func (*DelayServer) SendReadyMsgGoroutine_Send

func (s *DelayServer) SendReadyMsgGoroutine_Send(msg message.Message) (err error)

func (*DelayServer) SetBackendPoolSize

func (b *DelayServer) SetBackendPoolSize(num int)

func (*DelayServer) SetBrokerPoolSize

func (b *DelayServer) SetBrokerPoolSize(num int)

func (*DelayServer) SetResult

func (b *DelayServer) SetResult(result message.Result) error

func (*DelayServer) SetRunning

func (s *DelayServer) SetRunning()

func (*DelayServer) SetStop

func (s *DelayServer) SetStop()

func (*DelayServer) Shutdown

func (s *DelayServer) Shutdown(ctx context.Context) error

type InlineServer

type InlineServer struct {
	sync.Map
	// contains filtered or unexported fields
}

func NewInlineServer

func NewInlineServer(groupName string, c config.Config) InlineServer

func (*InlineServer) Add

func (t *InlineServer) Add(workerName string, w interface{})

add worker to group w : worker func

func (*InlineServer) BackendActivate

func (b *InlineServer) BackendActivate()

func (*InlineServer) BrokerActivate

func (b *InlineServer) BrokerActivate()

func (*InlineServer) GetBackendPoolSize

func (b *InlineServer) GetBackendPoolSize() int

func (*InlineServer) GetBrokerPoolSize

func (b *InlineServer) GetBrokerPoolSize() int

func (InlineServer) GetDelayGroupName

func (b InlineServer) GetDelayGroupName(groupName string) string

func (*InlineServer) GetDelayMessageGoroutine

func (t *InlineServer) GetDelayMessageGoroutine()

func (*InlineServer) GetNextMessageGoroutine

func (t *InlineServer) GetNextMessageGoroutine()

get next message if worker is ready

func (InlineServer) GetQueueName

func (b InlineServer) GetQueueName(groupName string) string

func (*InlineServer) GetResult

func (b *InlineServer) GetResult(id string) (message.Result, error)

func (*InlineServer) IsRunning

func (t *InlineServer) IsRunning() bool

func (*InlineServer) IsStop

func (t *InlineServer) IsStop() bool

func (*InlineServer) LSendMsg

func (b *InlineServer) LSendMsg(groupName string, msg message.Message) error

func (*InlineServer) MakeWorkerReady

func (t *InlineServer) MakeWorkerReady()

func (*InlineServer) Next

func (b *InlineServer) Next(groupName string) (message.Message, error)

func (*InlineServer) Run

func (t *InlineServer) Run(numWorkers int)

func (*InlineServer) Send

func (b *InlineServer) Send(groupName string, workerName string, ctl controller.TaskCtl, args ...interface{}) (string, error)

send msg to Queue t.Send("groupName", "workerName" , 1,"hi",1.2)

func (*InlineServer) SendMsg

func (b *InlineServer) SendMsg(groupName string, msg message.Message) error

func (*InlineServer) SetBackendPoolSize

func (b *InlineServer) SetBackendPoolSize(num int)

func (*InlineServer) SetBrokerPoolSize

func (b *InlineServer) SetBrokerPoolSize(num int)

func (*InlineServer) SetResult

func (b *InlineServer) SetResult(result message.Result) error

func (*InlineServer) SetRunning

func (t *InlineServer) SetRunning()

func (*InlineServer) SetStop

func (t *InlineServer) SetStop()

func (*InlineServer) Shutdown

func (t *InlineServer) Shutdown(ctx context.Context) error

func (*InlineServer) WorkerGoroutine

func (t *InlineServer) WorkerGoroutine()

start worker to run

type InvarParamFunc

type InvarParamFunc func(message.Result) (interface{}, error)

type Promise

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

func (*Promise) Done

func (p *Promise) Done() (interface{}, error)

func (*Promise) Then

func (p *Promise) Then(handle VarParamFunc) *Promise

type Server

type Server struct {
	ServerMap      map[string]*InlineServer // groupName:server
	DelayServerMap map[string]*DelayServer  // groupName:server
	// contains filtered or unexported fields
}

func NewServer

func NewServer(c config.Config) Server

func (*Server) Add

func (t *Server) Add(groupName string, workerName string, w interface{})

add worker to group w : worker func

func (*Server) GetClient

func (t *Server) GetClient() Client

func (*Server) Run

func (t *Server) Run(groupName string, numWorkers int, enableDelayServer ...bool)

func (*Server) Shutdown

func (t *Server) Shutdown(ctx context.Context) error

type SortQueue

type SortQueue struct {
	sync.Mutex

	Queue [maxLen + 1]message.Message
	// contains filtered or unexported fields
}

func (*SortQueue) Get

func (s *SortQueue) Get(i int) message.Message

func (*SortQueue) Insert

func (s *SortQueue) Insert(msg message.Message) *message.Message

func (*SortQueue) IsFull

func (s *SortQueue) IsFull() bool

func (*SortQueue) Pop

func (s *SortQueue) Pop() *message.Message

type VarParamFunc

type VarParamFunc func(interface{}) (interface{}, error)

Jump to

Keyboard shortcuts

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