2

App Engine の「モジュール」は、App Engine の新しい (そして実験的な、紛らわしい名前の) 機能です: https://developers.google.com/appengine/docs/python/modules。開発者は、「バックエンド」機能の使用をこの新しい機能の使用に変更するよう強く求められています。

モジュールのインスタンスを開始する方法は 2 つあるようです。HTTP リクエストをモジュールに送信する (つまりhttp://modulename.appname.appspot.comappnameアプリケーションとmodulenameモジュールに対して at) か、または を呼び出しますgoogle.appengine.api.modules.start_module()

シンプルな方法

モジュールのインスタンスを開始する簡単な方法は、HTTP 要求を作成することのようです。ただし、私の場合、これは 2 つの結果のみになり、どちらも私が望むものではありません。

  • アプリケーションが定義するバックエンドの名前を使用すると、つまりhttp://backend.appname.appspot.com、リクエストはバックエンドに適切にルーティングされ、適切に拒否されます (バックエンド アクセスはデフォルトでプライベートに定義されているため)。

  • それ以外の場合は、リクエストがデフォルト モジュールの唯一のフロントエンド インスタンスにルーティングされます。モジュール名としてhttp://sdlsdjfsldfsdf.appname.appspot.com. これは、 などの場合のように作成されたインスタンス ID にも当てはまりますhttp://99.sdlsdjfsldfsdf.appname.appspot.com。そしてもちろん (これが問題です) 私のモジュールの実際の名前にも同様です。

API 経由で開始する

ドキュメントにはstart_module()、モジュールとバージョンの名前で呼び出すと、指定されたモジュールの指定されたバージョンが起動するはずであると書かれています。ただし、UnexpectedStateError有効な引数を指定してこの関数を呼び出すたびに、エラーが発生します。

不幸な状況

これを機能させることができないため、ドキュメントに記載されていない微妙な点があるかどうか疑問に思っています。私のセットアップは非常に簡単なので、これが広範囲にわたる問題であり、誰かが解決策を見つけたのではないかと思っています。

4

3 に答える 3

3

バージョンを数値にすることはできません。この問題は、モジュールのバージョンが (たとえば) "v1" ではなく "1" であったために発生しているようです。

于 2013-08-01T05:10:27.017 に答える
0

モジュールでは、用語が少し変更されました。以前は「バックエンド」であったものは、「基本スケーリング」または「手動スケーリング」インスタンスになりました。

「自動スケーリング」および「基本スケーリング」インスタンスは、リクエストを処理するときに開始されますが、「手動スケーリング」インスタンスは常に実行されます。

通常、インスタンスを開始するには、モジュールの URL に HTTP リクエストを送信します。

start_module() は、「手動スケーリング」インスタンスを持つモジュール、または stop_module() で停止されたモジュールの再起動の使用が制限されているようです。

于 2013-07-24T16:55:16.780 に答える
0

あなたは付け加えられます:

login: admin

バックエンドのハンドラーへ。このようにして、管理者ユーザーはバックエンドを呼び出して実行をトリガーできます。login: admin を使用すると、アプリ内の別の場所から (つまり、フロントエンドから) URLFetch リクエストを発行して、バックエンドをトリガーすることもできます。

于 2013-07-25T02:33:16.967 に答える