Ver código fonte

FTP自动任务触发时间单位改为秒

zhou.xiaoning 2 anos atrás
pai
commit
c8b55ab93e
3 arquivos alterados com 11 adições e 3 exclusões
  1. 1 1
      config.yaml
  2. 1 1
      config/ftp.go
  3. 9 1
      service/ftp.go

+ 1 - 1
config.yaml

@@ -38,6 +38,6 @@ ftp:
   port: '23110'
   name: 'wmsuser'
   pwd: 'Much*ws#230410'
-  time-at: 5 # 每天执行小时数,0-23
+  time-at: '17:30:00' # 格式 HH:mm:ss
   folder: 'wms_reckon'
   folder-bakup: 'wms_reckon_bk'

+ 1 - 1
config/ftp.go

@@ -6,7 +6,7 @@ type FTP struct {
 	Port        string `mapstructure:"port" json:"port" yaml:"port"`
 	Name        string `mapstructure:"name" json:"name" yaml:"name"`
 	PWD         string `mapstructure:"pwd" json:"pwd" yaml:"pwd"`
-	TimeAt      int    `mapstructure:"time-at" json:"time-at" yaml:"time-at"`
+	TimeAt      string `mapstructure:"time-at" json:"time-at" yaml:"time-at"`
 	Folder      string `mapstructure:"folder" json:"folder" yaml:"folder"`
 	FolderBakup string `mapstructure:"folder-bakup" json:"folder-bakup" yaml:"folder-bakup"`
 }

+ 9 - 1
service/ftp.go

@@ -8,6 +8,7 @@ import (
 	"mtp20_assisted/utils"
 	"os"
 	"strconv"
+	"strings"
 	"time"
 
 	"encoding/csv"
@@ -17,8 +18,15 @@ import (
 )
 
 func InitTimer() (err error) {
+	// 获取触发时间点
+	timeStr := global.M2A_CONFIG.FTP.TimeAt
+	timeArr := strings.Split(timeStr, ":")
+	hour, _ := strconv.Atoi(timeArr[0])
+	min, _ := strconv.Atoi(timeArr[1])
+	sec, _ := strconv.Atoi(timeArr[2])
+
 	loc, err := time.LoadLocation("Local")
-	targetTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), global.M2A_CONFIG.FTP.TimeAt, 0, 0, 0, loc)
+	targetTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), hour, min, sec, 0, loc)
 
 	// 启动协程处理任务
 	go func() {