如何清除gocron作业? func main(){ 状态通道:=制造(chan bool) 转到检查频道(状态频道) [...] 如果x==1{ statusChannel
我刚刚与gocron有一个类似的问题,我通过删除如何清除gocron作业? func main(){ 状态通道:=制造(chan bool) 转到检查频道(状态频道) [...] 如果x==1{ statusChannel,go,Go,我刚刚与gocron有一个类似的问题,我通过删除 func main() { statusChannel := make(chan bool) go checkChannel(statusChannel) [...] if x == 1 { statusChannel <- true } else { statusChannel <- false } func checkChannel(statusChannel chan
func main() {
statusChannel := make(chan bool)
go checkChannel(statusChannel)
[...]
if x == 1 {
statusChannel <- true
} else {
statusChannel <- false
}
func checkChannel(statusChannel chan bool) {
defer close(statusChannel)
for {
log.Printf("waiting for signal...\n")
shouldContinue := <-statusChannel
if !shouldContinue {
log.Print("received false, breaking...\n")
gocron.Clear()
break
}
gocron.Every(1).Minute().Do(myFunc)
<-gocron.Start()
log.Print("working...\n")
}
}
我刚刚遇到了与gocron类似的问题,我通过删除
func main() {
statusChannel := make(chan bool)
go checkChannel(statusChannel)
[...]
if x == 1 {
statusChannel <- true
} else {
statusChannel <- false
}
func checkChannel(statusChannel chan bool) {
defer close(statusChannel)
for {
log.Printf("waiting for signal...\n")
shouldContinue := <-statusChannel
if !shouldContinue {
log.Print("received false, breaking...\n")
gocron.Clear()
break
}
gocron.Every(1).Minute().Do(myFunc)
<-gocron.Start()
log.Print("working...\n")
}
}
否的可能重复,不是真的。我的问题是goroutine停止了,但当我稍后启动gocron作业时,goroutine每分钟运行两次。No的可能重复,不是真的。我的问题是goroutine停止了,但当我稍后启动gocron作业时,goroutine每分钟运行两次。
for {
log.Printf("waiting for signal...\n")
shouldContinue := <-statusChannel
if !shouldContinue {
log.Print("received false, breaking...\n")
gocron.Clear()
break
}
gocron.Every(1).Minute().Do(myFunc)
log.Print("working...\n")
}
<-gocron.Start()
}