|
|
|
package icsbatch
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"log"
|
|
|
|
"mybatch/icsconf"
|
|
|
|
"mybatch/icslog"
|
|
|
|
stt "mybatch/icsstt"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/robfig/cron/v3"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
cfg icsconf.AppInfo
|
|
|
|
l *log.Logger
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
cfg = icsconf.Getconfig()
|
|
|
|
l = icslog.InitializeLogger()
|
|
|
|
}
|
|
|
|
|
|
|
|
func BatchForPostRequestForDataList() {
|
|
|
|
loc, err := time.LoadLocation("Asia/Seoul")
|
|
|
|
if err != nil {
|
|
|
|
l.Fatalln("타임존 로드 실패: ", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
cronInstance := cron.New(cron.WithLocation(loc))
|
|
|
|
// 매일 새벽 1시에 동작하는 크론인스턴스 추가
|
|
|
|
_, err = cronInstance.AddFunc("0 1 * * *", func() {
|
|
|
|
l.Println("calling ProcessPostRequestForDataList()")
|
|
|
|
stt.ProcessPostRequestForDataList()
|
|
|
|
})
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("스케줄 추가 오류:", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
cronInstance.Start()
|
|
|
|
|
|
|
|
select {}
|
|
|
|
}
|
|
|
|
|
|
|
|
func BatchForPostRequestForDataListTest() {
|
|
|
|
loc, err := time.LoadLocation("Asia/Seoul")
|
|
|
|
if err != nil {
|
|
|
|
l.Fatalln("타임존 로드 실패: ", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
cronInstance := cron.New(cron.WithLocation(loc))
|
|
|
|
_, err = cronInstance.AddFunc("51 12 * * *", func() {
|
|
|
|
l.Println("current server time: ", time.Now().Format("2006-01-02 15:04:05"))
|
|
|
|
fmt.Println("test succeeded")
|
|
|
|
})
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("스케줄 추가 오류:", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
cronInstance.Start()
|
|
|
|
|
|
|
|
select {}
|
|
|
|
|
|
|
|
}
|