【问题标题】:Revel doesn't start when i enable module.jobs当我启用 module.jobs 时,狂欢没有开始
【发布时间】:2017-05-24 01:52:37
【问题描述】:

当我在 app.conf 中启用 module.jobs 时出现以下错误 尝试重新下载模块包。

在 cron 包中提供。没用。

INFO 2017/05/01 18:51:12 main.go:32: Running revel server
panic: reflect: call of reflect.Value.Type on zero Value

goroutine 1 [running]:
panic(0xbd1b00, 0xc4201e7c20)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
reflect.Value.Type(0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/reflect/value.go:1670 +0x224
github.com/company/project/vendor/github.com/revel/revel.findControllers(0x137d2c0, 0xcaba60, 0xc4202a26e0, 0x4, 0x10)
/root/git/go/src/github.com/company/project/vendor/github.com/revel/revel/controller.go:329 +0x9f2
github.com/company/projectvendor/github.com/revel/revel.RegisterController(0xca73e0, 0x0, 0xc420028118, 0x1, 0x1)
/root/git/go/src/github.com/company/project/vendor/github.com/revel/revel/controller.go:414 +0x219
main.main()
/root/git/go/src/github.com/company/project/web/app/tmp/main.go:90 +0xbd0

它甚至没有进入我的应用程序的初始化部分。 第二个我禁用 app.conf 中的 module.jobs 行 revel 工作正常。

编辑第 90 行

 revel.RegisterController((*controllers0.Jobs)(nil),
    []*revel.MethodType{
        &revel.MethodType{
            Name: "Status",
            Args: []*revel.MethodArg{
            },
            RenderArgNames: map[int][]string{
                28: []string{
                    "entries",
                },
            },
        },

    })

【问题讨论】:

  • 您可以在main.go:90 中显示您的代码吗?或者是哪一行正在调用revel.RegisterController
  • 不知道你为什么将nil 作为控制器传递,但这就是它崩溃的原因。 reflect: call of reflect.Value.Type on zero Value 在您的情况下 (*controllers0.Jobs)(nil)零值
  • 不知道我正在向控制器传递任何东西。我所做的就是启用模块并重新启动狂欢。
  • 它适用于其他控制器就好了。
  • 我的错,我现在明白了,这就是你在狂欢中注册控制器的方式,请忽略我。

标签: go revel


【解决方案1】:

显然这是因为我出售了一半的包裹。在修复它的工作后,我没有将整个模块回购出售。

虽然在配置文件中没有启用作业。 我所要做的就是创建一个作业文件夹和一个包含该作业的 go 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多