增加资产存活状态定时检测与创建时检测
This commit is contained in:
parent
ad91406029
commit
c93e03e951
@ -24,6 +24,12 @@ func AssetCreateEndpoint(c echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// 创建后自动检测资产是否存活
|
||||
go func() {
|
||||
active := utils.Tcping(item.IP, item.Port)
|
||||
model.UpdateAssetActiveById(active, item.ID)
|
||||
}()
|
||||
|
||||
return Success(c, item)
|
||||
}
|
||||
|
||||
|
@ -17,8 +17,8 @@ func RunTicker() {
|
||||
|
||||
c := cron.New(cron.WithSeconds()) //精确到秒
|
||||
|
||||
// 定时任务,每隔一小时删除一次未使用的会话信息
|
||||
_, _ = c.AddFunc("0 0 0/1 * * ?", func() {
|
||||
// 定时任务,每隔一小时删除一次未使用的会话信息
|
||||
sessions, _ := model.FindSessionByStatusIn([]string{model.NoConnect, model.Connecting})
|
||||
if sessions != nil && len(sessions) > 0 {
|
||||
now := time.Now()
|
||||
@ -30,6 +30,16 @@ func RunTicker() {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 每隔一小时检测一次资产是否存活
|
||||
assets, _ := model.FindAllAsset()
|
||||
if assets != nil && len(assets) > 0 {
|
||||
for i := range assets {
|
||||
asset := assets[i]
|
||||
active := utils.Tcping(asset.IP, asset.Port)
|
||||
model.UpdateAssetActiveById(active, asset.ID)
|
||||
logrus.Infof("资产「%v」ID「%v」存活状态检测完成,存活「%v」。", asset.Name, asset.ID, active)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// 定时任务,每隔一分钟校验一次运行中的会话信息
|
||||
|
@ -43,6 +43,11 @@ func (r *Asset) TableName() string {
|
||||
return "assets"
|
||||
}
|
||||
|
||||
func FindAllAsset() (o []Asset, err error) {
|
||||
err = global.DB.Find(&o).Error
|
||||
return
|
||||
}
|
||||
|
||||
func FindAssetByConditions(protocol string, account User) (o []Asset, err error) {
|
||||
db := global.DB.Table("assets").Select("assets.id,assets.name,assets.ip,assets.port,assets.protocol,assets.active,assets.owner,assets.created, users.nickname as owner_name,COUNT(resources.user_id) as sharer_count").Joins("left join users on assets.owner = users.id").Joins("left join resources on assets.id = resources.resource_id").Group("assets.id")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user