0

Google App Engineでcronジョブをスケジュールして、10分ごとに5つのメインページを表示し、現在のインスタンスを稼働させ続け、ユーザーのページ速度を上げたいと考えています。cronジョブを作成するための基本的な構文はすべて理解していますが、Pythonがその場合にどのように表示されるのか興味があります。5つの異なるcronジョブを作成し、それぞれにURLをフェッチさせる必要がありますか?

4

5 に答える 5

5

特定の質問に答えるために、このようなcron.yamlは次のようになります。

cron:
- description: five minute run
  url: /refresh
  schedule: every 5 minutes

ここで、/ refreshは、アプリで作成したハンドラーであり、N分でも自動的に呼び出されます。

EG myapplication.appspot.com/refresh

特定のページまたは複数のページを更新する必要はありません。ハンドラーを呼び出すだけで、アプリは存続します。

しかし、他の人が指摘しているように、これはアプリを永続的に暖かく保つために少し多くなります。

于 2012-09-25T15:23:23.027 に答える
2

これに頼る必要はありません。AppEngineに一定数のフロントエンドを継続的に実行させるために支払うことができます。それらは「常駐」インスタンスと呼ばれます。

https://developers.google.com/appengine/docs/adminconsole/instances

于 2012-09-25T01:38:13.557 に答える
1

AppEngineについてはわかりませんが、ジェネリックPythonでは、必要なのはurllib.urlopen()だけです。私はおそらく、5ページすべてを順番にプルする単一のスクリプトを持っているでしょう-私はそれらを別々にする理由を本当に考えることができません。

于 2012-09-25T01:01:58.583 に答える
1

https://cloud.google.com/appengine/docs/standard/python/config/appref#automatic_scaling_min_instances

これは、トラフィックの少ない単一の自動スケーリングされたインスタンスの問題を解決するための適切な方法のようです。基本的には、これをapp.yamlに追加するだけです。

automatic_scaling:
  min_instances: 1

...次に、アプリにウォームアップハンドラーを追加します(GAEがアプリをウォームアップしようとするたびに400エラーがスローされないようにするため): https ://cloud.google.com/appengine/docs/standard/python3 / configuration-warmup-requests

pingで時間を無駄にしないでください。これには、まったく同じ効果とコストがあります。

于 2020-06-06T19:52:54.937 に答える
-3

cronジョブは1つのURLのみをフェッチできます。

私は2つの方法を見ます:1。すべてのページにcronを追加できます。2. cronジョブを1つ追加し、cronから各ページにタスクを追加できます。

于 2012-09-25T01:13:03.193 に答える