Go语言 在cron作业中使用 * gin.Context

y4ekin9u  于 2023-04-03  发布在  Go
关注(0)|答案(1)|浏览(130)

我有一个cron作业,它将调用需要 *gin的函数。上下文作为语句,这个语句将在其他下一步的其他进程中被要求。以前我的代码是这样的:

_, _ = c.cr.AddFunc(constant.CronRunningAt(8), func() {
        ctx := &gin.Context{}
        c.loan.LoanRepaymentNotification(ctx)
    })

但它会抛出这样的错误:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x38 pc=0x100d154f4]

有没有什么方法可以生成值类型 * gin.Context可以传递给被调用的函数?谢谢

gk7wooem

gk7wooem1#

如果你需要在cron任务上使用这个方法,那么就意味着不能使用gin.Context。正如库文档中所规定的:
Gin是一个用Go语言编写的Web框架。
所以你想用gin.Context做的事情可以通过另一种方式来实现,比如context.Context。这取决于你最后想做什么,但是你应该通过改变LoanRepaymentNotification或它的底层方法来重构你的代码,在你的cron作业中只使用context.Context

相关问题