Skip to main content
 首页 » 编程设计

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

2025年05月04日27artech

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

请您参考如下方法:

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

所以 IntervalTimeSpecification 的 __init__ 是不正确的:

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

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

TimeSpecification.__init__(self) 

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

super(IntervalTimeSpecification, self).__init__()