Study Memory Work
[Go Lang] gocron을 이용하여 스케줄러 만들기 본문
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() // 시작
}
'Programing > Go' 카테고리의 다른 글
[Go Lang] 프로젝트 패키지명 가져오기 (0) | 2023.12.22 |
---|---|
[Go Lang] Git에서 Go 프로젝트를 Clone했을 때 go.mod 생성하기 (0) | 2023.03.30 |
[Go Lang] 채널 Channel (0) | 2023.03.06 |
[Go Lang] 고루틴 - 멀티코어, 클로저 사용하기 (0) | 2023.03.06 |
[Go Lang] 인터페이스 (0) | 2023.03.02 |