akRpc

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: May 21, 2020 License: MIT Imports: 8 Imported by: 0

README

rpc 使用说明

#rpc 分真实队列处理和无队列处理

#1. 队列rpc,一般以一次性大批数据需要异步处理,比如一次性广播邮件或者群发送奖励,需要一次性填充队列数据,这样数据就会形成发送队列,依次执行完rpc异步操作,一般需要一个线程定时检查和处理该队列数据,如果队列存在数据则立即处理,处理的队列数据量根据业务和策划需要,以及系统响应情况来决定,比如给队列的最大数据列限制1000,大于这个量的,则将最先加入队列的数据删掉,依次执行后面的,定时处理的时间,也需要约定多长时间来检查处理一次,一般看服务器处理情况,如果线程少可以处理快一些,时间定的小一点,或者其他的情况。

#2. 非队列rpc,虽然没有真实加队列处理,但是底层的tcp也会有网络层依次处理,只要tcp调用,就直接发送处理出去,不需要等待。

Documentation

Index

Constants

View Source
const (
	ActChanMaxSize int = 1000 // act call params
)

Variables

This section is empty.

Functions

func AorpcV2Register

func AorpcV2Register(cn string, cf interface{})

func CallV2

func CallV2(cn string, in []interface{}) (err error)

func CreateAorpcV2

func CreateAorpcV2(ctx context.Context, wg *sync.WaitGroup, c *TAokoRedis)

func Exit

func Exit(wg *sync.WaitGroup)

func Register

func Register(name string, model interface{})

Types

type AoRpcIF

type AoRpcIF interface {
	AfterCall() error
}

type TActRet

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

type TAorpcV1

type TAorpcV1 struct {
	// contains filtered or unexported fields
}
var Aorpc *TAorpcV1 = nil

func (*TAorpcV1) Call

func (this *TAorpcV1) Call(key, modelname, funcName string, ins []interface{}, outs []interface{}) error

take model and func witch func in params,

func (*TAorpcV1) Exit

func (this *TAorpcV1) Exit()

func (*TAorpcV1) Init

func (this *TAorpcV1) Init()

func (*TAorpcV1) Run

func (this *TAorpcV1) Run()

type TAorpcV2

type TAorpcV2 struct {
	// contains filtered or unexported fields
}
var GAorpcV2obj *TAorpcV2

type TModelActV1

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

type TModelActV2

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

Jump to

Keyboard shortcuts

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