为什么我无法查看我的 Google App Engine cron 管理页面?

发布于 2024-07-21 02:24:45 字数 931 浏览 4 评论 0原文

当我转到 http://localhost:8080/_ah/admin/cron 时,如上所述在 Google 的文档中,我得到以下信息:

Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 501, in __call__
handler.get(*groups)
File "C:\Program Files\Google\google_appengine\google\appengine\ext\admin\__init__.py", line 239, in get
schedule = groctimespecification.GrocTimeSpecification(entry.schedule)
File "C:\Program Files\Google\google_appengine\google\appengine\cron\groctimespecification.py", line 71, in GrocTimeSpecification
parser.period_string)
File "C:\Program Files\Google\google_appengine\google\appengine\cron\groctimespecification.py", line 122, in __init__
super(IntervalTimeSpecification, self).__init__(self)
TypeError: object.__init__() takes no parameters

我有最新的 SDK,并且看起来我的配置文件是正确的。

When I go to http://localhost:8080/_ah/admin/cron, as stated in Google's docs, I get the following:

Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 501, in __call__
handler.get(*groups)
File "C:\Program Files\Google\google_appengine\google\appengine\ext\admin\__init__.py", line 239, in get
schedule = groctimespecification.GrocTimeSpecification(entry.schedule)
File "C:\Program Files\Google\google_appengine\google\appengine\cron\groctimespecification.py", line 71, in GrocTimeSpecification
parser.period_string)
File "C:\Program Files\Google\google_appengine\google\appengine\cron\groctimespecification.py", line 122, in __init__
super(IntervalTimeSpecification, self).__init__(self)
TypeError: object.__init__() takes no parameters

I have the latest SDK, and it looks like my config files are correct.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

狠疯拽 2024-07-28 02:24:45

这绝对是 Google App Engine 中的一个错误。 如果您检查 groctimespecification.py,您会看到 IntervalTimeSpecification 继承自 TimeSpecification,而后者又直接继承自 object 并且不会重写其 __init__ 方法。

因此,IntervalTimeSpecification__init__ 是不正确的:

class IntervalTimeSpecification(TimeSpecification):
  def __init__(self, interval, period):
    super(IntervalTimeSpecification, self).__init__(self)

我的猜测是,有人将旧式父类 init 调用:转换

TimeSpecification.__init__(self)

为当前的调用,但忘记了 super, self 是隐式传递的。 正确的行应该如下所示:

super(IntervalTimeSpecification, self).__init__()

This is definitely a bug in Google App Engine. If you check groctimespecification.py, you'll see that IntervalTimeSpecification inherits from TimeSpecification, which in turn inherits directly from object and doesn't override its __init__ method.

So the __init__ of IntervalTimeSpecification is incorrect:

class IntervalTimeSpecification(TimeSpecification):
  def __init__(self, interval, period):
    super(IntervalTimeSpecification, self).__init__(self)

My guess is, someone converted an old-style parent class init call:

TimeSpecification.__init__(self)

to the current one, but forgot that with super, self is passed implicitly. The correct line should look like this:

super(IntervalTimeSpecification, self).__init__()
离笑几人歌 2024-07-28 02:24:45

恭喜! 您发现了一个错误。 您可以在公共问题跟踪器上提交错误吗? 如果您想立即自行修复它,请删除该堆栈跟踪末尾引用的行中的“self”参数。

Congratulations! You've found a bug. Can you file a bug on the public issue tracker, please? If you want to fix it for yourself immediately, delete the 'self' argument in the line referenced at the end of that stacktrace.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文