basic-scalingやmanual-scalingにて永続的動作する常駐インスタンスの起動方法をご教授下さい。

300 views
Skip to first unread message

山口誠

unread,
Sep 29, 2016, 1:58:44 AM9/29/16
to Google-App-Engine-Japan
Appengine/Javaについて凄く基本的な事なのですが調べてもわからず困っております。

basic-scalingやmanual-scalingにて永続的動作する常駐インスタンスの起動方法がわかりません。
同時実行は1つだけで構いません。

cron.xmlでurl指定だとHTTP statusを返さなければ行けないし
appcfg や新ダッシュボードまわりでもそれらしい方法がわかりませんでした。

もしご存の方おられましたらお教え頂けないでしょうか?

用途はPull Queueのマネージとなります。
Eclipseローカル開発環境でも動作方法もご教授頂ければありがたいです。
特にサーブレットに拘っているわけじやないのでthread常駐など他の方法でもかまいません。

tomoyuki nagai

unread,
Sep 29, 2016, 2:16:50 AM9/29/16
to Google-App-Engine-Japan

AppEngine は常駐インスタンスをつくることはできません。

インスタンスはどこかのタイミングでかならずシャットダウンします。


2016年9月29日(木) 14:58 山口誠 <tocom...@gmail.com>:
--
このメールは Google グループのグループ「Google-App-Engine-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-app-engine...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app-...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/google-app-engine-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
--

----------------------------------

永井友之( nagai tomoyuki)

mail:renj...@gmail.com

山口誠

unread,
Sep 29, 2016, 2:57:02 AM9/29/16
to Google-App-Engine-Japan
永井さま

ご教授ありがとうございます。

下記を参考にし


Automatic ScalingのResidentインスタンスについてはTQ起動と記載されていたのですが


ではManual ScalingやBasic scalingの場合

>Requests can run indefinitely. A manually-scaled instance can choose to handle /_ah/start and execute a program or script for many hours without returning an HTTP response code. Tasks can run up to 24 hours.

とあるので

Manual ScalingやBasic scalingにて長時間常駐させるインスタンスの起こし方がわからず質問しました。

要するに基本はAutomatic Scalingと同じでTQでResidentインスタンスを立ち上げ処理させる。

然るに24時間オーバーやアプリがアイドル状態になった場合はResidentインスタンスと言えどもダウンさせられるのでそれを前提にコーディングせよ。

という理解で宜しいでしょうか?




2016年9月29日木曜日 15時16分50秒 UTC+9 nagai:

AppEngine は常駐インスタンスをつくることはできません。

インスタンスはどこかのタイミングでかならずシャットダウンします。


2016年9月29日(木) 14:58 山口誠 <tocom...@gmail.com>:
Appengine/Javaについて凄く基本的な事なのですが調べてもわからず困っております。

basic-scalingやmanual-scalingにて永続的動作する常駐インスタンスの起動方法がわかりません。
同時実行は1つだけで構いません。

cron.xmlでurl指定だとHTTP statusを返さなければ行けないし
appcfg や新ダッシュボードまわりでもそれらしい方法がわかりませんでした。

もしご存の方おられましたらお教え頂けないでしょうか?

用途はPull Queueのマネージとなります。
Eclipseローカル開発環境でも動作方法もご教授頂ければありがたいです。
特にサーブレットに拘っているわけじやないのでthread常駐など他の方法でもかまいません。

--
このメールは Google グループのグループ「Google-App-Engine-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-app-engine-japan+unsub...@googlegroups.com にメールを送信してください。

このグループに投稿するには google-app-...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/google-app-engine-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
--

----------------------------------

永井友之( nagai tomoyuki)

mail:re...@gmail.com

山口誠

unread,
Oct 5, 2016, 6:45:02 AM10/5/16
to Google-App-Engine-Japan
自己レスです。

>Manual ScalingやBasic scalingにて長時間常駐させるインスタンスの起こし方がわからず質問しました。
>
>要するに基本はAutomatic Scalingと同じでTQでResidentインスタンスを立ち上げ処理させる。

試しにBasic scalingに設定したmodule上でTQからインスタンスを立ち上げてみましたが

現行のダッシュボード「App Engine ->インスタンス」
https://console.cloud.google.com/appengine/instances?project=プロジェクト名&moduleId=Basci Scalingを設定したモジュール名
で確認するとダイナミック扱いと成っていました。

やっぱり単にTQで起こしただけではResidentインスタンスとしては起動してくれないんですね。

2014/07/15の下記ブログによれば古いダッシュボード上でAutomatic Scalingに設定したmodule上でResidentインスタンスの起動が確認出来てたみたいです。

何か別のおまじない(設定)がいるのか?

ほとほと困っております。


Shingo Ishimura

unread,
Oct 5, 2016, 7:04:21 AM10/5/16
to google-app-...@googlegroups.com
sinmetalです。

Resident Instanceを立ち上げたい場合は、Manual Scalingを利用するか、Automatic Scalingのmin-idle instanceを設定する必要があります。

おそらく今回のケースでは、Manual Scalingを設定すると期待通りになるのではないでしょうか。
また、途中話に出ているとおり、Resident Instanceと言えど、常時処理をし続けることはできません。
1 requestは最長24hしか持続しません。

`Pull Queueのマネージ`というのが何なのかがよく分からないので、適当なアドバイスになりますが、
Resident Instanceが立ち上がった時に、初期処理をしたいのであれば、
https://cloud.google.com/appengine/docs/go/warmup-requests/ を利用することができます。

2016年10月5日 19:45 山口誠 <tocom...@gmail.com>:

--
このメールは Google グループのグループ「Google-App-Engine-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-app-engine-japan+unsub...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app-engine-japan@googlegroups.com にメールを送信してください。
Message has been deleted

山口誠

unread,
Oct 7, 2016, 4:17:48 AM10/7/16
to Google-App-Engine-Japan
sinmetalさま

ご教授ありがとうございます。
Manual Scalingを利用したところ常駐インスタンスの起動が確認できました。

>`Pull Queueのマネージ`というのが何なのかがよく分からないので、適当なアドバイスになりますが、
>Resident Instanceが立ち上がった時に、初期処理をしたいのであれば、
>https://cloud.google.com/appengine/docs/go/warmup-requests/ を利用することができます。

やろうとしてた事はDataStoeの苦手とする大規模データのランキング処理で下記URLを参考に実装させて頂きました。

Goと異なり現行JavaベースなのでどのみちSpinUpに時間を要するし
今回のケースだと常駐インスタンスとPull Queueを利用しているので
特にwarmup-requestsの利点が見いだせずパス致しました。
もしかするとよりベターな方法があるかも知れませんが…。

DataStoreでももっと簡単な実装方法があればありがたいんですけど(汗)

コメント非常に助かりました。


吉積礼敏

unread,
Nov 9, 2016, 5:47:30 AM11/9/16
to google-app-engine-japan

GCEからDataStore叩くってのはダメなんかしら?


2016年10月7日 17:17 山口誠 <tocom...@gmail.com>:

--
このメールは Google グループのグループ「Google-App-Engine-Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-app-engine-japan+unsub...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app-engine-japan@googlegroups.com にメールを送信してください。
https://groups.google.com/group/google-app-engine-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
※※※ Googleトータルソリューション企業 吉積情報 ※※※
※※※     Google クラウドインフラ クラウドエース     ※※※
※※※       日本No1 GoogleAppsコンサルタント      ※※※

吉積情報株式会社
代表取締役 吉積 礼敏 <ayat...@yoshidumi.co.jp>
携帯:090-1732-1848
住所:〒104-0041 東京都中央区新富1丁目12番7号 新富HJビル4階
電話:03-6280-5940
FAX :03-4335-0153
HP  :http://www.yoshidumi.com
Reply all
Reply to author
Forward
0 new messages