From 11884afa4f1a5297ccd0897d275851231c0bc7f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Thu, 22 Sep 2022 10:49:29 +0800 Subject: [PATCH] - update --- const.go | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- jobs_mongo_model/task_log.go | 28 -------------------------- model.go | 7 +++---- model_task_log.go | 34 +++++++++++++++++++++++++++++++ run.go | 39 ++++++++++++++++++++---------------- 7 files changed, 66 insertions(+), 56 deletions(-) delete mode 100644 jobs_mongo_model/task_log.go create mode 100644 model_task_log.go diff --git a/const.go b/const.go index 8852089..931ecec 100644 --- a/const.go +++ b/const.go @@ -1,6 +1,6 @@ package gojobs const ( - Version = "1.0.104" + Version = "1.0.105" SpecifyIpNull = "0.0.0.0" ) diff --git a/go.mod b/go.mod index 0d46a1c..6be0a6b 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/robfig/cron/v3 v3.0.1 go.dtapp.net/dorm v1.0.42 go.dtapp.net/goip v1.0.38 - go.dtapp.net/golog v1.0.92 + go.dtapp.net/golog v1.0.94 go.dtapp.net/gostring v1.0.10 go.dtapp.net/gotime v1.0.5 go.dtapp.net/gotrace_id v1.0.6 @@ -82,7 +82,7 @@ require ( go.uber.org/zap v1.23.0 // indirect golang.org/x/crypto v0.0.0-20220919173607-35f4265a4bc0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9 // indirect + golang.org/x/net v0.0.0-20220921203646-d300de134e69 // indirect golang.org/x/sync v0.0.0-20220907140024-f12130a52804 // indirect golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 // indirect golang.org/x/text v0.3.7 // indirect diff --git a/go.sum b/go.sum index becf599..4c34181 100644 --- a/go.sum +++ b/go.sum @@ -507,8 +507,8 @@ go.dtapp.net/dorm v1.0.42 h1:bugzTYBr5goLDf9s8vft6xG/fAiinLm1jo+9uFD7JRM= go.dtapp.net/dorm v1.0.42/go.mod h1:LCy6tqg7uClOhMb8zgF9x9mTFoVd9Ud40g9a2Z6bbwM= go.dtapp.net/goip v1.0.38 h1:WHIqXV0qWUM9XDtRaMIMyCKWyd9dWfSvSRdDr7vF7xU= go.dtapp.net/goip v1.0.38/go.mod h1:N2YFFr2OO+5VQwMqyKtg7c4MVrDJOoog/QmIvYUfi1c= -go.dtapp.net/golog v1.0.92 h1:LbkCNxT7AJUmbXQPaQzWO+b8/dDK4s4FOtZ9ZtVXKOI= -go.dtapp.net/golog v1.0.92/go.mod h1:3AGlz/yrCNMD0RSKThQaTSwZHkMnlgeBlLJ9voTvaZY= +go.dtapp.net/golog v1.0.94 h1:pRvnGpAcM+J976PAxmNiHxJ6AGCvRCo7kkHyzjmKSlE= +go.dtapp.net/golog v1.0.94/go.mod h1:fQLLDTe2jOdps4p+42pd7a/nL1FzWpQgI71zz8jGtvA= go.dtapp.net/gorandom v1.0.1 h1:IWfMClh1ECPvyUjlqD7MwLq4mZdUusD1qAwAdsvEJBs= go.dtapp.net/gorandom v1.0.1/go.mod h1:ZPdgalKpvFV/ATQqR0k4ns/F/IpITAZpx6WkWirr5Y8= go.dtapp.net/gorequest v1.0.31 h1:r/OoU5Y00TbJjkQtpvwjsb/pllqO0UQQjFRY1veZYZc= @@ -602,8 +602,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9 h1:asZqf0wXastQr+DudYagQS8uBO8bHKeYD1vbAvGmFL8= -golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220921203646-d300de134e69 h1:hUJpGDpnfwdJW8iNypFjmSY0sCBEL+spFTZ2eO+Sfps= +golang.org/x/net v0.0.0-20220921203646-d300de134e69/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/jobs_mongo_model/task_log.go b/jobs_mongo_model/task_log.go deleted file mode 100644 index d88842b..0000000 --- a/jobs_mongo_model/task_log.go +++ /dev/null @@ -1,28 +0,0 @@ -package jobs_mongo_model - -import ( - "go.dtapp.net/dorm" - "go.mongodb.org/mongo-driver/bson/primitive" -) - -// TaskLog 任务日志模型 -type TaskLog struct { - LogId primitive.ObjectID `json:"log_id,omitempty" bson:"_id,omitempty"` //【记录】编号 - LogTime primitive.DateTime `json:"log_time,omitempty" bson:"log_time"` //【记录】时间 - TaskId uint `json:"task_id,omitempty" bson:"task_id,omitempty"` //【任务】编号 - TaskRunId string `json:"task_run_id,omitempty" bson:"task_run_id,omitempty"` //【任务】执行编号 - TaskResultCode int `json:"task_result_code,omitempty" bson:"task_result_code,omitempty"` //【任务】执行状态码 - TaskResultDesc string `json:"task_result_desc,omitempty" bson:"task_result_desc,omitempty"` //【任务】执行结果 - TaskResultTime dorm.BsonTime `json:"task_result_time,omitempty" bson:"task_result_time,omitempty"` //【任务】执行时间 - SystemHostName string `json:"system_host_name,omitempty" bson:"system_host_name,omitempty"` //【系统】主机名 - SystemInsideIp string `json:"system_inside_ip,omitempty" bson:"system_inside_ip,omitempty"` //【系统】内网ip - SystemOs string `json:"system_os,omitempty" bson:"system_os,omitempty"` //【系统】系统类型 - SystemArch string `json:"system_arch,omitempty" bson:"system_arch,omitempty"` //【系统】系统架构 - GoVersion string `json:"go_version,omitempty" bson:"go_version,omitempty"` //【系统】go版本 - SdkVersion string `json:"sdk_version,omitempty" bson:"sdk_version,omitempty"` //【系统】sdk版本 - SystemOutsideIp string `json:"system_outside_ip,omitempty" bson:"system_outside_ip,omitempty"` //【系统】外网ip -} - -func (TaskLog) CollectionName() string { - return "task_log" -} diff --git a/model.go b/model.go index 147eed8..9657b98 100644 --- a/model.go +++ b/model.go @@ -3,7 +3,6 @@ package gojobs import ( "context" "go.dtapp.net/gojobs/jobs_gorm_model" - "go.dtapp.net/gojobs/jobs_mongo_model" "go.dtapp.net/gotime" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" @@ -39,12 +38,12 @@ func (c *Client) GormTaskLogDelete(ctx context.Context, hour int64) error { // MongoTaskLogDelete 删除 func (c *Client) MongoTaskLogDelete(ctx context.Context, hour int64) (*mongo.DeleteResult, error) { filter := bson.D{{"log_time", bson.D{{"$lt", primitive.NewDateTimeFromTime(gotime.Current().BeforeHour(hour).Time)}}}} - return c.mongoClient.Database(c.mongoConfig.databaseName).Collection(jobs_mongo_model.TaskLog{}.CollectionName()).DeleteMany(ctx, filter) + return c.mongoClient.Database(c.mongoConfig.databaseName).Collection(TaskLog{}.CollectionName()).DeleteMany(ctx, filter) } // 创建时间序列集合 func (c *Client) mongoCreateCollectionTaskLog(ctx context.Context) { - err := c.mongoClient.Database(c.mongoConfig.databaseName).CreateCollection(ctx, jobs_mongo_model.TaskLog{}.CollectionName(), options.CreateCollection().SetTimeSeriesOptions(options.TimeSeries().SetTimeField("log_time"))) + err := c.mongoClient.Database(c.mongoConfig.databaseName).CreateCollection(ctx, TaskLog{}.CollectionName(), options.CreateCollection().SetTimeSeriesOptions(options.TimeSeries().SetTimeField("log_time"))) if err != nil { c.zapLog.WithTraceId(ctx).Sugar().Errorf("创建时间序列集合:%s", err) } @@ -52,7 +51,7 @@ func (c *Client) mongoCreateCollectionTaskLog(ctx context.Context) { // 创建索引 func (c *Client) mongoCreateIndexesTaskLog(ctx context.Context) { - _, err := c.mongoClient.Database(c.mongoConfig.databaseName).Collection(jobs_mongo_model.TaskLog{}.CollectionName()).CreateManyIndexes(ctx, []mongo.IndexModel{{ + _, err := c.mongoClient.Database(c.mongoConfig.databaseName).Collection(TaskLog{}.CollectionName()).CreateManyIndexes(ctx, []mongo.IndexModel{{ Keys: bson.D{{ Key: "log_time", Value: -1, diff --git a/model_task_log.go b/model_task_log.go new file mode 100644 index 0000000..c251b90 --- /dev/null +++ b/model_task_log.go @@ -0,0 +1,34 @@ +package gojobs + +import ( + "go.dtapp.net/dorm" + "go.mongodb.org/mongo-driver/bson/primitive" +) + +// TaskLog 任务日志模型 +type TaskLog struct { + LogId primitive.ObjectID `json:"log_id,omitempty" bson:"_id,omitempty"` //【记录】编号 + LogTime primitive.DateTime `json:"log_time,omitempty" bson:"log_time"` //【记录】时间 + Task struct { + Id uint `json:"id,omitempty" bson:"id,omitempty"` //【任务】编号 + RunId string `json:"run_id,omitempty" bson:"run_id,omitempty"` //【任务】执行编号 + ResultCode int `json:"result_code,omitempty" bson:"result_code,omitempty"` //【任务】执行状态码 + ResultDesc string `json:"result_desc,omitempty" bson:"result_desc,omitempty"` //【任务】执行结果 + ResultTime dorm.BsonTime `json:"result_time,omitempty" bson:"result_time,omitempty"` //【任务】执行时间 + } `json:"task,omitempty" bson:"task,omitempty"` //【任务】信息 + System struct { + HostName string `json:"host_name,omitempty" bson:"host_name,omitempty"` //【系统】主机名 + InsideIp string `json:"inside_ip,omitempty" bson:"inside_ip,omitempty"` //【系统】内网ip + OutsideIp string `json:"outside_ip,omitempty" bson:"outside_ip,omitempty"` //【系统】外网ip + Os string `json:"os,omitempty" bson:"os,omitempty"` //【系统】系统类型 + Arch string `json:"arch,omitempty" bson:"arch,omitempty"` //【系统】系统架构 + } `json:"system,omitempty" bson:"system,omitempty"` //【系统】信息 + Version struct { + Go string `json:"go,omitempty" bson:"go,omitempty"` //【程序】Go版本 + Sdk string `json:"sdk,omitempty" bson:"sdk,omitempty"` //【程序】Sdk版本 + } `json:"version,omitempty" bson:"version,omitempty"` //【程序】版本信息 +} + +func (TaskLog) CollectionName() string { + return "task_log" +} diff --git a/run.go b/run.go index 3baf754..c6bccc6 100644 --- a/run.go +++ b/run.go @@ -4,7 +4,6 @@ import ( "context" "go.dtapp.net/dorm" "go.dtapp.net/gojobs/jobs_gorm_model" - "go.dtapp.net/gojobs/jobs_mongo_model" "go.dtapp.net/gotime" "go.dtapp.net/gotrace_id" "go.mongodb.org/mongo-driver/bson/primitive" @@ -33,22 +32,28 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC SystemOutsideIp: c.config.systemOutsideIp, }) if c.mongoConfig.stats { - c.mongoClient.Database(c.mongoConfig.databaseName).Collection(jobs_mongo_model.TaskLog{}.CollectionName()).InsertOne(ctx, jobs_mongo_model.TaskLog{ - LogId: primitive.NewObjectID(), - LogTime: primitive.NewDateTimeFromTime(gotime.Current().Time), - TaskId: task.Id, - TaskRunId: runId, - TaskResultCode: taskResultCode, - TaskResultDesc: taskResultDesc, - TaskResultTime: dorm.NewBsonTimeCurrent(), - SystemHostName: c.config.systemHostName, - SystemInsideIp: c.config.systemInsideIp, - SystemOs: c.config.systemOs, - SystemArch: c.config.systemArch, - GoVersion: c.config.goVersion, - SdkVersion: c.config.sdkVersion, - SystemOutsideIp: c.config.systemOutsideIp, - }) + + taskLog := TaskLog{ + LogId: primitive.NewObjectID(), + LogTime: primitive.NewDateTimeFromTime(gotime.Current().Time), + } + + taskLog.Task.Id = task.Id + taskLog.Task.RunId = runId + taskLog.Task.ResultCode = taskResultCode + taskLog.Task.ResultDesc = taskResultDesc + taskLog.Task.ResultTime = dorm.NewBsonTimeCurrent() + + taskLog.System.HostName = c.config.systemHostName + taskLog.System.InsideIp = c.config.systemInsideIp + taskLog.System.OutsideIp = c.config.systemOutsideIp + taskLog.System.Os = c.config.systemOs + taskLog.System.Arch = c.config.systemArch + + taskLog.Version.Go = c.config.goVersion + taskLog.Version.Sdk = c.config.sdkVersion + + c.mongoClient.Database(c.mongoConfig.databaseName).Collection(TaskLog{}.CollectionName()).InsertOne(ctx, taskLog) } switch taskResultCode {