add remove function, even not finished

master
codeskyblue 8 years ago
parent df212e4fed
commit 686fbcd633

@ -154,6 +154,22 @@ func ActionStop(ctx *cli.Context) {
fmt.Println(res.Message)
}
func ActionRemove(ctx *cli.Context) {
conn, err := connect(ctx)
if err != nil {
log.Fatal(err)
}
defer conn.Close()
name := ctx.Args().First()
client := pb.NewProgramClient(conn)
res, err := client.Remove(context.Background(), &pb.Request{Name: name})
if err != nil {
Errorf("ERR: %#v\n", err)
}
fmt.Println(res.Message)
}
func ActionTail(ctx *cli.Context, client pb.ProgramClient) {
req := &pb.TailRequest{
Name: ctx.Args().First(),
@ -289,6 +305,11 @@ func initCli() {
Usage: "Stop running program",
Action: wrap(ActionStop),
},
{
Name: "remove",
Usage: "Remove program",
Action: wrap(ActionRemove),
},
{
Name: "tail",
Usage: "tail log",

@ -259,6 +259,7 @@ var _GoSuv_serviceDesc = grpc.ServiceDesc{
type ProgramClient interface {
Start(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
Stop(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
Remove(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
Tail(ctx context.Context, in *TailRequest, opts ...grpc.CallOption) (Program_TailClient, error)
}
@ -288,6 +289,15 @@ func (c *programClient) Stop(ctx context.Context, in *Request, opts ...grpc.Call
return out, nil
}
func (c *programClient) Remove(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error) {
out := new(Response)
err := grpc.Invoke(ctx, "/gosuvpb.Program/Remove", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *programClient) Tail(ctx context.Context, in *TailRequest, opts ...grpc.CallOption) (Program_TailClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Program_serviceDesc.Streams[0], c.cc, "/gosuvpb.Program/Tail", opts...)
if err != nil {
@ -325,6 +335,7 @@ func (x *programTailClient) Recv() (*LogLine, error) {
type ProgramServer interface {
Start(context.Context, *Request) (*Response, error)
Stop(context.Context, *Request) (*Response, error)
Remove(context.Context, *Request) (*Response, error)
Tail(*TailRequest, Program_TailServer) error
}
@ -356,6 +367,18 @@ func _Program_Stop_Handler(srv interface{}, ctx context.Context, dec func(interf
return out, nil
}
func _Program_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
in := new(Request)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(ProgramServer).Remove(ctx, in)
if err != nil {
return nil, err
}
return out, nil
}
func _Program_Tail_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(TailRequest)
if err := stream.RecvMsg(m); err != nil {
@ -389,6 +412,10 @@ var _Program_serviceDesc = grpc.ServiceDesc{
MethodName: "Stop",
Handler: _Program_Stop_Handler,
},
{
MethodName: "Remove",
Handler: _Program_Remove_Handler,
},
},
Streams: []grpc.StreamDesc{
{

@ -49,5 +49,6 @@ service GoSuv {
service Program {
rpc Start(Request) returns (Response) {}
rpc Stop(Request) returns (Response) {}
rpc Remove(Request) returns (Response) {}
rpc Tail(TailRequest) returns (stream LogLine) {}
}

@ -2,7 +2,6 @@ package main
import (
"fmt"
"log"
"net"
"os"
"os/exec"
@ -11,6 +10,7 @@ import (
"time"
pb "github.com/codeskyblue/gosuv/gosuvpb"
"github.com/qiniu/log"
"golang.org/x/net/context"
"google.golang.org/grpc"
)
@ -39,6 +39,13 @@ func (this *PbProgram) Stop(ctx context.Context, in *pb.Request) (res *pb.Respon
return res, nil
}
// Remove(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
func (s *PbProgram) Remove(ctx context.Context, in *pb.Request) (res *pb.Response, err error) {
res = &pb.Response{}
res.Message = "TODO: remove not finished. " + in.Name
return res, nil
}
//func (this *PbProgram) Tail(ctx context.Context, in *pb.Request)(stream
func (c *PbProgram) Tail(in *pb.TailRequest, stream pb.Program_TailServer) (err error) {
program, err := programTable.Get(in.Name)

Loading…
Cancel
Save