1

Google のドキュメントに記載されているように、 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)

現在のものに、しかしwithが暗黙的に渡さsuperれることを忘れていました。self正しい行は次のようになります。

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

おめでとう!バグが見つかりました。public issue trackerにバグを報告していただけますか? 自分ですぐに修正したい場合は、そのスタックトレースの最後で参照されている行の「self」引数を削除してください。

于 2009-05-23T18:54:58.570 に答える