首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行goroutine时退出状态2

运行goroutine时退出状态2
EN

Stack Overflow用户
提问于 2021-12-22 09:14:28
回答 1查看 511关注 0票数 -2

为什么我的程序在使用退出状态2执行goroutine时会出现恐慌/自动关闭?

代码语言:javascript
复制
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()

错误消息:恐慌:无法从零父级创建上下文

代码语言:javascript
复制
goroutine 10 [running]:
context.WithDeadline({0x0, 0x0}, {0xe14120, 0xee6b2800, 0xe14120})
        /home/sdk/go1.17.2/src/context/context.go:436 +0x41b
EN

回答 1

Stack Overflow用户

发布于 2021-12-22 14:01:12

从我所看到的来看,您似乎还没有给ctx一个实际的值。通常,您会使用类似ctx = context.Background()ctx = context.WithCancel(context.Background)之类的东西。

这里有一篇很好的文章:https://www.sohamkamani.com/golang/context-cancellation-and-values/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70446678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档