关键出入口增加panic捕获

pull/21/merge
ouqiang 2017-05-29 15:30:59 +08:00
parent 2bf6ea0b6a
commit 7633cb8556
3 changed files with 15 additions and 1 deletions

View File

@ -89,7 +89,10 @@ func becomeDaemon(ctx *cli.Context) {
cmd.Stdin = os.Stdin cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
cmd.Start() err := cmd.Start()
if err != nil {
logger.Fatal("创建守护进程失败", err)
}
// 父进程退出, 子进程由init-1号进程收养 // 父进程退出, 子进程由init-1号进程收养
os.Exit(0) os.Exit(0)

View File

@ -9,9 +9,15 @@ import (
"github.com/ouqiang/gocron/modules/rpc/grpcpool" "github.com/ouqiang/gocron/modules/rpc/grpcpool"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc" "google.golang.org/grpc"
"github.com/ouqiang/gocron/modules/logger"
) )
func Exec(ip string, port int, taskReq *pb.TaskRequest) (string, error) { func Exec(ip string, port int, taskReq *pb.TaskRequest) (string, error) {
defer func() {
if err := recover(); err != nil {
logger.Error("panic#rpc/client.go:Exec#", err)
}
} ()
addr := fmt.Sprintf("%s:%d", ip, port) addr := fmt.Sprintf("%s:%d", ip, port)
conn, err := grpcpool.Pool.Get(addr) conn, err := grpcpool.Pool.Get(addr)
if err != nil { if err != nil {

View File

@ -302,6 +302,11 @@ func SendNotification(taskModel *models.TaskHost, taskResult TaskResult) {
// 执行具体任务 // 执行具体任务
func execJob(handler Handler, taskModel *models.TaskHost) TaskResult { func execJob(handler Handler, taskModel *models.TaskHost) TaskResult {
defer func() {
if err := recover(); err != nil {
logger.Error("panic#service/task.go:execJob#", err)
}
} ()
if taskModel.Multi == 0 { if taskModel.Multi == 0 {
defer runInstance.done(taskModel.Id) defer runInstance.done(taskModel.Id)
} }