Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["redis.go"],
importpath = "go-common/app/service/bbq/recsys/dao/parallel",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//library/cache/redis:go_default_library",
"//library/log:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,63 @@
package parallel
import (
"context"
"unsafe"
"go-common/library/cache/redis"
"go-common/library/log"
)
// RedisTask .
type RedisTask struct {
ctx *context.Context
name string
pool *redis.Pool
cmd string
args []interface{}
}
// NewRedisTaskWithName new redis parallel task
func NewRedisTaskWithName(ctx *context.Context, name string, pool *redis.Pool, cmd string, args ...interface{}) *RedisTask {
return &RedisTask{
ctx: ctx,
name: name,
pool: pool,
cmd: cmd,
args: args,
}
}
// NewRedisTask new redis parallel task
func NewRedisTask(ctx *context.Context, pool *redis.Pool, cmd string, args ...interface{}) *RedisTask {
return &RedisTask{
ctx: ctx,
pool: pool,
cmd: cmd,
args: args,
}
}
// Run .
func (rt *RedisTask) Run() (result *[]byte) {
conn := rt.pool.Get(*rt.ctx)
defer conn.Close()
reply, err := conn.Do(rt.cmd, rt.args...)
if err != nil {
log.Error("RedisTask Run error:[%+v]", err)
return
}
switch reply := reply.(type) {
case []byte:
result = &reply
case string:
b := []byte(reply)
result = &b
default:
result = (*[]byte)(unsafe.Pointer(&reply))
}
return
}