mirror of https://github.com/ouqiang/gocron
关键出入口增加panic捕获
parent
2bf6ea0b6a
commit
7633cb8556
|
@ -89,7 +89,10 @@ func becomeDaemon(ctx *cli.Context) {
|
|||
cmd.Stdin = os.Stdin
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Start()
|
||||
err := cmd.Start()
|
||||
if err != nil {
|
||||
logger.Fatal("创建守护进程失败", err)
|
||||
}
|
||||
|
||||
// 父进程退出, 子进程由init-1号进程收养
|
||||
os.Exit(0)
|
||||
|
|
|
@ -9,9 +9,15 @@ import (
|
|||
"github.com/ouqiang/gocron/modules/rpc/grpcpool"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc"
|
||||
"github.com/ouqiang/gocron/modules/logger"
|
||||
)
|
||||
|
||||
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)
|
||||
conn, err := grpcpool.Pool.Get(addr)
|
||||
if err != nil {
|
||||
|
|
|
@ -302,6 +302,11 @@ func SendNotification(taskModel *models.TaskHost, taskResult 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 {
|
||||
defer runInstance.done(taskModel.Id)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue