Programing/Go
[Go Lang] gocron을 이용하여 스케줄러 만들기
Hera Choi
2023. 3. 29. 18:39
gocron
정해진 시간, 날짜 등등에 반복적으로 원하는 함수를 실행하도록 하는 라이브러리.
gocron package
github.com/go-co-op/gocron,
github.com/jasonlvhit/gocron
두 package 차이
github.com/go-co-op/gocron은 더 많은 기능을 제공하는 오픈소스 스케줄러 라이브러리이며, 다양한 스케줄링 기능을 제공한다.
반면 github.com/jasonlvhit/gocron은 time.Ticker 기반의 더 단순한 스케줄러로, go 기본 패키지인 time과 유사한 인터페이스를 가지고 있다. 이 라이브러리는 더 적은 기능을 제공하지만, 가볍고 간단하게 사용할 수 있다.
두 라이브러리의 선택은 프로젝트의 요구사항과 개발자의 선호도에 따라 결정될 수 있다.
gocron 으로 스케줄러 만들기
1) 생성하기
2) 시간 지정하여 원하는 함수 호출하기
3) gocron 복수개 실행하기
4) 시작
func t() {
fmt.Println("1")
}
func t2() {
fmt.Println("2")
}
func t3(name string) {
fmt.Println("Hi ", name)
}
func main() {
fs := filestorage.Filestorage{time.Time{}, 0}
job := gocron.NewScheduler() // 생성
job.Every(5).Seconds().Do(t1) // 정의
job.Every(2).Seconds().Do(t2) // 복수개 정의
job.Every(3).Seconds().Do(t3, "hera") // 복수개 정의
<-job.Start() // 시작
}