반응형
package main
import (
"fmt"
"github.com/robfig/cron/v3"
"time"
)
func main() {
customLocation, _ := time.LoadLocation("Asia/Seoul")
cron.WithLocation(customLocation)
c:=cron.New()
//1분마다 실행
c.AddFunc("* * * * *", jobtest)
c.Start()
fmt.Println("cron_start()")
select{}
}
func jobtest(){
now:=time.Now()
date:= now.Format("2006-01-02 15:04:05")
fmt.Println("start:",date)
fmt.Println("job test")
}
docker 이미지를 만들고 리눅스에서 crond를 이용해서 작업을 하려면 별도의 작업들을 해줘야 한다 .
그래서 go 자체에서 crond를 만들어서 실행 하고
cmd를 이용해서 해당 프로그램을 실행하면 되는 구조로 만들게 되었습니다.
select{} 를 통해서 무한 대기(무한 루프) 해주고
cornd는 background에서 돌게 됩니다.
select{}선언 해주지 않는다면 바로 종료 됩니다.
반응형