- update db

master
李光春 2 years ago
parent a2f2689d10
commit 5d910fb616

@ -83,7 +83,7 @@ func NewClient(config *ClientConfig) (*Client, error) {
// 配置缓存
redisClient := config.RedisClientFun()
if redisClient != nil && redisClient.Db != nil {
if redisClient != nil && redisClient.GetDb() != nil {
c.cache.redisClient = redisClient
c.cache.redisLockClient = c.cache.redisClient.NewLock()
} else {
@ -101,7 +101,7 @@ func NewClient(config *ClientConfig) (*Client, error) {
// 配置关系数据库
gormClient := config.GormClientFun()
if gormClient != nil && gormClient.Db != nil {
if gormClient != nil && gormClient.GetDb() != nil {
c.gormClient = gormClient
c.autoMigrateTask(ctx)
@ -112,7 +112,7 @@ func NewClient(config *ClientConfig) (*Client, error) {
// 配置非关系数据库
mongoClient, databaseName := config.MongoClientFun()
if mongoClient != nil && mongoClient.Db != nil {
if mongoClient != nil && mongoClient.GetDb() != nil {
c.mongoClient = mongoClient
if databaseName == "" {

@ -1,6 +1,6 @@
package gojobs
const (
Version = "1.0.100"
Version = "1.0.101"
SpecifyIpNull = "0.0.0.0"
)

@ -8,17 +8,17 @@ import (
// GetDb 获取数据库驱动
func (c *Client) GetDb() *gorm.DB {
return c.gormClient.Db
return c.gormClient.GetDb()
}
// GetMongoDb 获取数据库驱动
func (c *Client) GetMongoDb() *mongo.Client {
return c.mongoClient.Db
return c.mongoClient.GetDb()
}
// GetRedis 获取缓存数据库驱动
func (c *Client) GetRedis() *redis.Client {
return c.cache.redisClient.Db
return c.cache.redisClient.GetDb()
}
// GetCurrentIp 获取当前ip

@ -6,9 +6,9 @@ require (
github.com/go-redis/redis/v9 v9.0.0-beta.2
github.com/jasonlvhit/gocron v0.0.1
github.com/robfig/cron/v3 v3.0.1
go.dtapp.net/dorm v1.0.38
go.dtapp.net/dorm v1.0.42
go.dtapp.net/goip v1.0.36
go.dtapp.net/golog v1.0.87
go.dtapp.net/golog v1.0.89
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-20220919232410-f2f64ebce3c1 // indirect
golang.org/x/net v0.0.0-20220920203100-d0c6ba3f52d9 // 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

@ -503,12 +503,12 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
go.dtapp.net/dorm v1.0.38 h1:9OgWY5bnar6D0Xdho62xn7RluXJNe8i7Kz/IeSUObF4=
go.dtapp.net/dorm v1.0.38/go.mod h1:z9ksZ4Y0HHH0odjEiG57d90/ZUBM51qXEWJC8fS+dEM=
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.36 h1:+wexFCMnP3f+6jPYXjBLMyjnP+DfQrslWvXifndxkdc=
go.dtapp.net/goip v1.0.36/go.mod h1:9/Oo1HVM4EVUsvAebdV6CaBAK4S6qQMQWT3LcJfH6jM=
go.dtapp.net/golog v1.0.87 h1:mueYl2NEf28rt9z0AgI7SvdLaqc88VdQVnjgQKon0ps=
go.dtapp.net/golog v1.0.87/go.mod h1:SeAB/PPgwh+bVoG2TbDvWJtbPxvKImZCih1Un3SY9fA=
go.dtapp.net/golog v1.0.89 h1:SWnfut4kMws5TKDGgCBRI3U2rp5Gf0W133Nmmao/Y2Q=
go.dtapp.net/golog v1.0.89/go.mod h1:6kSMLr7RSDONS1+2xYWK1f8X3YHrElmHg2Ti/IlFKAU=
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-20220919232410-f2f64ebce3c1 h1:TWZxd/th7FbRSMret2MVQdlI8uT49QEtwZdvJrxjEHU=
golang.org/x/net v0.0.0-20220919232410-f2f64ebce3c1/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
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/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=

@ -13,7 +13,7 @@ import (
// 创建模型
func (c *Client) autoMigrateTask(ctx context.Context) {
err := c.gormClient.Db.AutoMigrate(&jobs_gorm_model.Task{})
err := c.gormClient.GetDb().AutoMigrate(&jobs_gorm_model.Task{})
if err != nil {
c.zapLog.WithTraceId(ctx).Sugar().Errorf("创建模型:%s", err)
}
@ -21,7 +21,7 @@ func (c *Client) autoMigrateTask(ctx context.Context) {
// 创建模型
func (c *Client) autoMigrateTaskLog(ctx context.Context) {
err := c.gormClient.Db.AutoMigrate(&jobs_gorm_model.TaskLog{})
err := c.gormClient.GetDb().AutoMigrate(&jobs_gorm_model.TaskLog{})
if err != nil {
c.zapLog.WithTraceId(ctx).Sugar().Errorf("创建模型:%s", err)
}
@ -29,13 +29,13 @@ func (c *Client) autoMigrateTaskLog(ctx context.Context) {
// GormTaskLogDelete 删除
func (c *Client) GormTaskLogDelete(ctx context.Context, hour int64) error {
return c.gormClient.Db.Where("log_time < ?", gotime.Current().BeforeHour(hour).Format()).Delete(&jobs_gorm_model.TaskLog{}).Error
return c.gormClient.GetDb().Where("log_time < ?", gotime.Current().BeforeHour(hour).Format()).Delete(&jobs_gorm_model.TaskLog{}).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.Db.Database(c.mongoConfig.databaseName).Collection(jobs_mongo_model.TaskLog{}.CollectionName()).DeleteMany(ctx, filter)
return c.mongoClient.Database(c.mongoConfig.databaseName).Collection(jobs_mongo_model.TaskLog{}.CollectionName()).DeleteMany(ctx, filter)
}
// 创建时间序列集合
@ -48,7 +48,7 @@ func (c *Client) mongoCreateCollectionTaskLog(ctx context.Context) {
// 创建索引
func (c *Client) mongoCreateIndexesTaskLog(ctx context.Context) {
indexes, 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(jobs_mongo_model.TaskLog{}.CollectionName()).CreateManyIndexes(ctx, []mongo.IndexModel{{
Keys: bson.D{{
Key: "log_time",
Value: -1,
@ -57,5 +57,4 @@ func (c *Client) mongoCreateIndexesTaskLog(ctx context.Context) {
if err != nil {
c.zapLog.WithTraceId(ctx).Sugar().Errorf("创建索引:%s", err)
}
c.zapLog.WithTraceId(ctx).Sugar().Infof("创建索引:%s", indexes)
}

@ -19,7 +19,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
return
}
c.gormClient.Db.Create(&jobs_gorm_model.TaskLog{
c.gormClient.GetDb().Create(&jobs_gorm_model.TaskLog{
TaskId: task.Id,
TaskRunId: runId,
TaskResultCode: taskResultCode,
@ -53,7 +53,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
switch taskResultCode {
case 0:
err := c.EditTask(c.gormClient.Db, task.Id).
err := c.EditTask(c.gormClient.GetDb(), task.Id).
Select("run_id", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
RunId: runId,
@ -66,7 +66,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
return
case CodeSuccess:
// 执行成功
err := c.EditTask(c.gormClient.Db, task.Id).
err := c.EditTask(c.gormClient.GetDb(), task.Id).
Select("status_desc", "number", "run_id", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
StatusDesc: "执行成功",
@ -81,7 +81,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
}
case CodeEnd:
// 执行成功、提前结束
err := c.EditTask(c.gormClient.Db, task.Id).
err := c.EditTask(c.gormClient.GetDb(), task.Id).
Select("status", "status_desc", "number", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
Status: TASK_SUCCESS,
@ -96,7 +96,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
}
case CodeError:
// 执行失败
err := c.EditTask(c.gormClient.Db, task.Id).
err := c.EditTask(c.gormClient.GetDb(), task.Id).
Select("status_desc", "number", "run_id", "updated_ip", "result", "next_run_time").
Updates(jobs_gorm_model.Task{
StatusDesc: "执行失败",
@ -114,7 +114,7 @@ func (c *Client) Run(ctx context.Context, task jobs_gorm_model.Task, taskResultC
if task.MaxNumber != 0 {
if task.Number+1 >= task.MaxNumber {
// 关闭执行
err := c.EditTask(c.gormClient.Db, task.Id).
err := c.EditTask(c.gormClient.GetDb(), task.Id).
Select("status").
Updates(jobs_gorm_model.Task{
Status: TASK_TIMEOUT,

Loading…
Cancel
Save