goRedisDLM/worker/client/rpcworker.go
2025-02-06 16:48:15 +08:00

25 lines
538 B
Go

package client
import (
"goRedisDLM/engine"
"net/rpc"
)
func CreateRpcWorker(clients chan *rpc.Client) func(request engine.Request) (engine.Response, error) {
return func(request engine.Request) (engine.Response, error) {
client := <-clients
return RpcWorker(client, request)
}
}
func RpcWorker(client *rpc.Client, request engine.Request) (engine.Response, error) {
out := engine.Response{}
err := client.Call("Inventory.Work", request, &out)
if err != nil {
return engine.Response{Id: "err"}, err
}
return out, nil
}