1

当我去http://localhost:8080/_ah/admin/cron时,如谷歌文档中所述,我得到以下信息:

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,看起来我的配置文件是正确的。

4

2 回答 2

4

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

所以__init__ofIntervalTimeSpecification是不正确的:

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

我的猜测是,有人转换了旧式父类初始化调用:

TimeSpecification.__init__(self)

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

super(IntervalTimeSpecification, self).__init__()
于 2009-05-24T08:30:19.980 回答
3

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

于 2009-05-23T18:54:58.570 回答