Почему я не могу просмотреть свою страницу администрирования Google App Engine cron?

1

Когда я перехожу в 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
cron
stack-trace

2 ответа

4

Это определенно ошибка в Google App Engine. Если вы проверите groctimespecification.py, вы увидите, что IntervalTimeSpecification наследует от TimeSpecification, который, в свою очередь, наследуется непосредственно из object и не отменяет его метод __init__.

Так что __init__ of IntervalTimeSpecification неверно:

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

Я предполагаю, что кто-то перевел вызов init родительского класса старого стиля:

TimeSpecification.__init__(self)

к текущему, но забыл, что с super, self передается неявно. Правильная строка должна выглядеть так:

super(IntervalTimeSpecification, self).__init__()
3

Поздравляем! Вы нашли ошибку. Можете ли вы найти ошибку в общедоступном трекере, пожалуйста? Если вы хотите немедленно исправить это для себя, удалите аргумент "self" в строке, указанной в конце этой stacktrace.

  • 0
    Вы пробовали это? Это не сработало для меня, я думаю, это потому, что я использую 2.6, я загружаю 2.5.4 прямо сейчас, чтобы посмотреть, исправит ли это.
  • 0
    Нет, я проверил источник и убедился, что это определенно ошибка. :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню