为什么我的程序在使用退出状态2执行goroutine时会出现恐慌/自动关闭?
var (
timeout time.Duration
ctx context.Context
)
synchronised := usecases.NewXbaseUsecase(timeout, xbaseRepo, oodoBaseUrl, oodoDb, oodoEmail, oodoPassword, httpCl)
count := 1
gocron.Every(1).Days().At("15:54").Do(func() {
log.Println("Start Sync")
log.Println("Fetch ->", count)
synchronised.SyncServices(ctx)
})
<-gocron.Start()错误消息:恐慌:无法从零父级创建上下文
goroutine 10 [running]:
context.WithDeadline({0x0, 0x0}, {0xe14120, 0xee6b2800, 0xe14120})
/home/sdk/go1.17.2/src/context/context.go:436 +0x41b发布于 2021-12-22 14:01:12
从我所看到的来看,您似乎还没有给ctx一个实际的值。通常,您会使用类似ctx = context.Background()或ctx = context.WithCancel(context.Background)之类的东西。
这里有一篇很好的文章:https://www.sohamkamani.com/golang/context-cancellation-and-values/
https://stackoverflow.com/questions/70446678
复制相似问题