我有一个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可以传递给被调用的函数?谢谢
1条答案
按热度按时间gk7wooem1#
如果你需要在cron任务上使用这个方法,那么就意味着不能使用
gin.Context
。正如库文档中所规定的:Gin是一个用Go语言编写的Web框架。
所以你想用
gin.Context
做的事情可以通过另一种方式来实现,比如context.Context
。这取决于你最后想做什么,但是你应该通过改变LoanRepaymentNotification
或它的底层方法来重构你的代码,在你的cron作业中只使用context.Context
。