Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
5374a9a2
Commit
5374a9a2
authored
Jul 03, 2023
by
陈子龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
主机ip定时任务 fix
parent
2d7aa2c2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
75 additions
and
4 deletions
+75
-4
go.mod
go.mod
+1
-0
go.sum
go.sum
+2
-0
src/main.go
src/main.go
+5
-0
src/router/automatedmaintenrouter.go
src/router/automatedmaintenrouter.go
+2
-2
src/service/cron/common.go
src/service/cron/common.go
+13
-0
src/service/host_manage.go
src/service/host_manage.go
+52
-2
No files found.
go.mod
View file @
5374a9a2
...
...
@@ -20,6 +20,7 @@ require (
github.com/minio/minio-go/v7 v7.0.58
github.com/mojocn/base64Captcha v1.3.5
github.com/pkg/errors v0.9.1
github.com/robfig/cron v1.2.0
github.com/satori/go.uuid v1.2.0
github.com/spf13/cast v1.5.0
github.com/spf13/pflag v1.0.5
...
...
go.sum
View file @
5374a9a2
...
...
@@ -382,6 +382,8 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
...
...
src/main.go
View file @
5374a9a2
...
...
@@ -2,6 +2,7 @@ package main
import
(
"fmt"
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/service/cron"
"net/http"
"os"
"time"
...
...
@@ -39,6 +40,10 @@ func main() {
go
client
.
GetDbClient
()
// redis client
go
client
.
GetRedisClient
()
//启动定时任务
cron
.
StartCron
()
// server start...
conf
.
Logger
.
Error
(
"server start err"
,
zap
.
Error
(
newServer
()
.
ListenAndServe
()))
}
...
...
src/router/automatedmaintenrouter.go
View file @
5374a9a2
...
...
@@ -36,10 +36,10 @@ func InitAutomatedMaintenRouter(e *gin.Engine) {
host
.
PUT
(
"/edit"
,
controller
.
EditHostManage
)
// 编辑
host
.
DELETE
(
"/del"
,
controller
.
DelHostManage
)
// 删除
host
.
GET
(
"/details"
,
controller
.
DetailsHostManage
)
// 详情
host
.
GET
(
"/page_list"
,
controller
.
PageListHostManage
)
// 列表
-分页
host
.
GET
(
"/page_list"
,
controller
.
PageListHostManage
)
// 列表
host
.
POST
(
"/state"
,
controller
.
StateHostManage
)
// 状态检测
host
.
GET
(
"/ip_exception_list"
,
controller
.
HostIpExceptionList
)
// 主机ip异常列表
host
.
GET
(
"/export"
,
controller
.
ExportIp
)
// 导出ip列表
host
.
GET
(
"/list"
,
controller
.
ListHostManage
)
// 主机分组列表
host
.
GET
(
"/list"
,
controller
.
ListHostManage
)
// 主机分组列表
-不分页
}
}
src/service/cron/common.go
0 → 100644
View file @
5374a9a2
package
cron
import
(
"github.com/robfig/cron"
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/service"
)
func
StartCron
()
{
c
:=
cron
.
New
()
defer
c
.
Start
()
c
.
AddFunc
(
"0 0 0 * * *"
,
service
.
CronStatusDetection
)
// 每天凌晨12状态检测
}
src/service/host_manage.go
View file @
5374a9a2
...
...
@@ -451,7 +451,7 @@ func (h *HostManageSvc) SaveStateHostManage(hostManageList []request.HostManageL
return
}
// HostIpExceptionList 列表点击状态检测
// HostIpExceptionList 列表点击状态检测
后展示-异常列表
func
(
h
*
HostManageSvc
)
HostIpExceptionList
(
req
request
.
HostIpExceptionListReq
)
(
total
int64
,
hostManageListRes
[]
response
.
HostManageListRes
,
err
error
)
{
db
,
err
:=
client
.
GetDbClient
()
if
err
!=
nil
{
...
...
@@ -470,7 +470,7 @@ func (h *HostManageSvc) HostIpExceptionList(req request.HostIpExceptionListReq)
return
}
// SaveIpExceptionList 保存时状态检测异常列表
// SaveIpExceptionList 保存时状态检测
后展示-
异常列表
func
(
h
*
HostManageSvc
)
SaveIpExceptionList
(
req
request
.
HostIpExceptionListReq
)
(
total
int64
,
hostManageListCacheRes
[]
response
.
HostManageListCache
,
err
error
)
{
db
,
err
:=
client
.
GetDbClient
()
if
err
!=
nil
{
...
...
@@ -635,3 +635,53 @@ func (h *HostManageSvc) ListHostManage() (hostManagesListRes []response.HostMana
}
return
}
// CronStatusDetection 定时任务-状态检测
func
CronStatusDetection
()
{
db
,
err
:=
client
.
GetDbClient
()
if
err
!=
nil
{
fmt
.
Println
(
"CronStatusDetection err:"
,
err
.
Error
())
return
}
//查询主机IP列表
hostManageList
:=
make
([]
response
.
HostManageListRes
,
0
)
finder
:=
db
.
Table
(
"host_manage_list"
)
.
Where
(
"is_delete = 0"
)
err
=
finder
.
Find
(
&
hostManageList
)
if
err
!=
nil
{
fmt
.
Println
(
"CronStatusDetection err:"
,
err
.
Error
())
return
}
//往hosts文件中写入主机组ip
//f, err := os.OpenFile("/etc/ansible/hosts", os.O_APPEND|os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0777)
//if err != nil {
// fmt.Println("CronStatusDetection err:", err.Error())
// return
//}
//defer f.Close()
//_, err = f.Write([]byte(fmt.Sprintf("%s%d\n", AnsibleGroup, req.Id)))
//if err != nil {
// fmt.Println("CronStatusDetection err:", err.Error())
// return
//}
//for _, v := range hostManageList {
// _, err = f.Write([]byte(fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_pass=\"%s\"\n", v.Ip, v.Ip, v.Port, v.UserName, v.Password)))
// if err != nil {
// fmt.Println("CronStatusDetection err:", err.Error())
// return
// }
//}
for
_
,
v
:=
range
hostManageList
{
//修改状态
_
,
err
=
db
.
Table
(
"host_manage_list"
)
.
Where
(
"is_delete = 0 AND id = ?"
,
v
.
Id
)
.
Cols
(
"conn_status"
)
.
Update
(
&
entity
.
HostManageList
{
ConnStatus
:
StatusDetection
(
v
.
Ip
),
})
if
err
!=
nil
{
fmt
.
Println
(
"CronStatusDetection err:"
,
err
.
Error
())
return
}
}
fmt
.
Println
(
"CronPersonalCardDate success!"
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment