feat(shell): add recover aof

This commit is contained in:
bandl 2021-11-02 20:35:28 +08:00
parent be528cbb6d
commit 4ca09febb4
3 changed files with 49 additions and 1 deletions

View File

@ -143,11 +143,22 @@ def gen_aof(proto):
temp_path = f"{aofPath}/codec.gen.go"
with open(temp_path, 'w', encoding='utf-8') as f:
f.write(text)
# 生成 AOF 恢复机制
tem_text = load_template("dao_aof.template")
template = Template(tem_text)
text = template.render(keys=proto)
temp_path = f"{daoPath}/dao.gen.go"
with open(temp_path, 'w', encoding='utf-8') as f:
f.write(text)
def format_code_go():
go_fmt(f"{daoPath}/interface.gen.go")
go_fmt(f"{servicePath}/single_service.gen.go")
go_fmt(f"{aofPath}/codec.gen.go")
go_fmt(f"{daoPath}/dao.gen.go")
def main():
# 加载 protobuf

View File

@ -3,10 +3,14 @@
package dao
import "gitee.com/wheat-os/wheatCache/pkg/proto"
import (
"gitee.com/wheat-os/wheatCache/pkg/proto"
protobuf "google.golang.org/protobuf/proto"
)
type Interface interface {
{%for key in keys %}
{{key.method}}({% for req in key.option %} {{req[1]}}, {% endfor %}) (*proto.{{key.method}}Response, error)
{%- endfor %}
ExecMessage(message protobuf.Message) error
}

View File

@ -0,0 +1,33 @@
// Code generated by gen-struct. DO NOT EDIT.
// make gen-service generated
package dao
import (
"gitee.com/wheat-os/wheatCache/pkg/errorx"
"gitee.com/wheat-os/wheatCache/pkg/lru"
"gitee.com/wheat-os/wheatCache/pkg/proto"
protobuf "google.golang.org/protobuf/proto"
)
type Dao struct {
lru lru.CacheInterface
}
func NewDao(lru lru.CacheInterface) Interface {
return &Dao{
lru: lru,
}
}
// 执行 msg
func (d *Dao) ExecMessage(message protobuf.Message) error {
switch req := message.(type) {
{%for key in keys %}
case *proto.{{key.method}}Request:
_, err := d.{{key.method}}({% for req in key.option %} req.{{req[0]}}, {% endfor %})
return err
{%- endfor %}
default:
return errorx.New("The type that is not registered exec err")
}
}