Recent Comments
Link
Recent Posts
Today
Total
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
관리 메뉴

Study Memory Work

[Go Lang] gocron을 이용하여 스케줄러 만들기 본문

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()						// 시작


}