Browse Source

修改调试问题;使用magefile代替makefile

gitlink
Sydonian 2 years ago
parent
commit
bfca490deb
4 changed files with 34 additions and 25 deletions
  1. +0
    -15
      Makefile
  2. +4
    -4
      internal/event/agent_check_state.go
  3. +22
    -0
      magefiles/magefile.go
  4. +8
    -6
      main.go

+ 0
- 15
Makefile View File

@@ -1,15 +0,0 @@
OUTPUT_BINARY_NAME = "scanner"
OUTPUT_DIR_NAME = "scanner"


ASSETS_DIR_NAME = "assets"
BUILD_DIR = "../../build"

build:
go build -o ${BUILD_DIR}/${OUTPUT_DIR_NAME}/${OUTPUT_BINARY_NAME}${OUTPUT_BINARY_EXT}
@if [ -d ${ASSETS_DIR_NAME} ] && [ -n "`ls -A ${ASSETS_DIR_NAME}`" ] ;then \
cp -r ${ASSETS_DIR_NAME}/* ${BUILD_DIR}/${OUTPUT_DIR_NAME}/; \
fi

clean:
rm -f ${BUILD_DIR}/${OUTPUT_DIR_NAME}/${OUTPUT_BINARY_NAME}

+ 4
- 4
internal/event/agent_check_state.go View File

@@ -66,8 +66,8 @@ func (t *AgentCheckState) Execute(execCtx ExecuteContext) {


// 检查上次上报时间,超时的设置为不可用 // 检查上次上报时间,超时的设置为不可用
// TODO 没有上报过是否要特殊处理? // TODO 没有上报过是否要特殊处理?
if node.LastReportTime == nil && time.Since(*node.LastReportTime) > time.Duration(config.Cfg().NodeUnavailableSeconds)*time.Second {
err := execCtx.Args.DB.Node().ChangeState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_UNAVAILABLE)
if node.LastReportTime != nil && time.Since(*node.LastReportTime) > time.Duration(config.Cfg().NodeUnavailableSeconds)*time.Second {
err := execCtx.Args.DB.Node().UpdateState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_UNAVAILABLE)
if err != nil { if err != nil {
log.WithField("NodeID", t.NodeID).Warnf("set node state failed, err: %s", err.Error()) log.WithField("NodeID", t.NodeID).Warnf("set node state failed, err: %s", err.Error())
return return
@@ -104,7 +104,7 @@ func (t *AgentCheckState) Execute(execCtx ExecuteContext) {
if getResp.Body.IPFSState != consts.IPFS_STATE_OK { if getResp.Body.IPFSState != consts.IPFS_STATE_OK {
log.WithField("NodeID", t.NodeID).Warnf("IPFS status is %s, set node state unavailable", getResp.Body.IPFSState) log.WithField("NodeID", t.NodeID).Warnf("IPFS status is %s, set node state unavailable", getResp.Body.IPFSState)


err := execCtx.Args.DB.Node().ChangeState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_UNAVAILABLE)
err := execCtx.Args.DB.Node().UpdateState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_UNAVAILABLE)
if err != nil { if err != nil {
log.WithField("NodeID", t.NodeID).Warnf("change node state failed, err: %s", err.Error()) log.WithField("NodeID", t.NodeID).Warnf("change node state failed, err: %s", err.Error())
} }
@@ -112,7 +112,7 @@ func (t *AgentCheckState) Execute(execCtx ExecuteContext) {
} }


// TODO 如果以后还有其他的状态,要判断哪些状态下能设置Normal // TODO 如果以后还有其他的状态,要判断哪些状态下能设置Normal
err = execCtx.Args.DB.Node().ChangeState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_NORMAL)
err = execCtx.Args.DB.Node().UpdateState(execCtx.Args.DB.SQLCtx(), t.NodeID, consts.NODE_STATE_NORMAL)
if err != nil { if err != nil {
log.WithField("NodeID", t.NodeID).Warnf("change node state failed, err: %s", err.Error()) log.WithField("NodeID", t.NodeID).Warnf("change node state failed, err: %s", err.Error())
} }


+ 22
- 0
magefiles/magefile.go View File

@@ -0,0 +1,22 @@
//go:build mage

package main

import (
"magefiles"
"magefiles/utils"

//mage:import
"magefiles/targets"
)

var Default = Build

func Build() error {
return utils.Build(magefiles.BuildArgs{
OutputBinName: "scanner",
OutputDirName: "scanner",
AssetsDir: "assets",
PubArgs: targets.PubGoBuildArgs,
})
}

+ 8
- 6
main.go View File

@@ -109,15 +109,17 @@ func serveDistLock(svc *distlocksvc.Service, wg *sync.WaitGroup) {
func startTickEvent(tickExecutor *tickevent.Executor) { func startTickEvent(tickExecutor *tickevent.Executor) {
// TODO 可以考虑增加配置文件,配置这些任务间隔时间 // TODO 可以考虑增加配置文件,配置这些任务间隔时间


tickExecutor.Start(tickevent.NewBatchAllAgentCheckCache(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
interval := 5 * 60 * 1000


tickExecutor.Start(tickevent.NewBatchCheckAllObject(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
tickExecutor.Start(tickevent.NewBatchAllAgentCheckCache(), interval, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})


tickExecutor.Start(tickevent.NewBatchCheckAllRepCount(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
tickExecutor.Start(tickevent.NewBatchCheckAllObject(), interval, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})


tickExecutor.Start(tickevent.NewBatchCheckAllStorage(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
tickExecutor.Start(tickevent.NewBatchCheckAllRepCount(), interval, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})


//tickExecutor.Start(tickevent.NewCheckAgentState(), 5*60*1000, tickevent.StartOption{RandomFirstStartDelayMs: 60 * 1000})
tickExecutor.Start(tickevent.NewBatchCheckAllStorage(), interval, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})


tickExecutor.Start(tickevent.NewCheckCache(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
tickExecutor.Start(tickevent.NewCheckAgentState(), 5*60*1000, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})

tickExecutor.Start(tickevent.NewCheckCache(), interval, tickevent.StartOption{RandomStartDelayMs: 60 * 1000})
} }

Loading…
Cancel
Save