トップページ⇒php
1001コメント283KB

Google App Engine for Python 4アプ目

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/04/12(火) 17:54:29.62ID:???
Google App Engine
http://code.google.com/appengine/

■過去スレ
Google App Engine
http://pc11.2ch.net/test/read.cgi/php/1207754942/
Google App Engine 2アプ目
http://pc11.2ch.net/test/read.cgi/php/1243654802/
Google AppEngine 3アプ目
http://hibari.2ch.net/test/read.cgi/php/1267057923/

■リンク集
はてなブックマーク
http://b.hatena.ne.jp/t/gae
http://b.hatena.ne.jp/t/Google%20App%20Engine
Delicious
http://delicious.com/popular/gae
http://delicious.com/popular/googleappengine

■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
0222nobodyさん2011/06/14(火) 13:44:24.36ID:ZF/JY4UT
>>221
回答ありがとうございます。
100こくらいプロパティがあるモデルを40くらいの条件で検索しようとしてました。これはやばいですね。
なるべく絞り込まず、同じ検索条件で分けてオンメモリで振り分けるとか工夫が必要そうです。
ありがとうございました。
0223nobodyさん2011/06/14(火) 15:00:54.63ID:???
自分もindexについて質問です
本デプロイではindex数に制限があるので、既に作って登録されたindexのうち、
もう使われていないindexを削除したいのですが、
どうしたらいいのでしょうか?
0224nobodyさん2011/06/14(火) 16:50:20.43ID:ZF/JY4UT
appcfg.py vacuum_indexes
0225nobodyさん2011/06/16(木) 23:42:12.92ID:???
久しぶりに見たら値上げしてたのか
「安い」はgaeのかなり重要なメリットじゃなかったのか
基本料金の900円くらいはどうでもいいが
ヒットした時にC/Pめちゃめちゃ悪かったら
移行もしにくいし死ぬじゃん
0226nobodyさん2011/06/16(木) 23:47:32.36ID:???
>>148
秒間7リクエストくらいは1インスタンスで捌けるってことかな?
それが16で秒間112リクエスト程度
それで900ドルはあまりにもひどMAX
0227nobodyさん2011/06/17(金) 01:32:23.25ID:???
>>226
相当な改悪ですよね?
趣味で無料枠を使って楽しんでいたのに残念。
0228nobodyさん2011/06/17(金) 02:27:36.41ID:d7RRou9G
蔵には通知したし問題なし
0229nobodyさん2011/06/17(金) 02:38:40.85ID:AKnbuyYJ
https://simple-note.appspot.com/

ここが全文検索を実現してるんだけど
どうやってるの?
0230nobodyさん2011/06/17(金) 02:51:28.39ID:???
調べてないけどフロントはgaeだけどバックは別サーバーとかかなー
0231nobodyさん2011/06/17(金) 13:02:37.52ID:???
CPU時間は分かるけどインスタンスって何?
0232nobodyさん2011/06/17(金) 23:15:37.03ID:???
仮想サーバ一台分のことじゃね
0233nobodyさん2011/06/18(土) 17:57:01.55ID:???
CPU時間がサーバー台数になったら処理コストどうやって計算すればいいのよ。
0234nobodyさん2011/06/18(土) 19:02:41.92ID:???
googleさんの匙加減です
0235nobodyさん2011/06/19(日) 01:15:42.25ID:???
上の方の外人さんの話で
秒間7リクエストしか処理できないサーバーってどんなショボサーバーなんだよ
0236nobodyさん2011/06/19(日) 08:00:28.46ID:???
そんな糞サーバーを天下のGoogle先生が提供するわけねえよ
0237nobodyさん2011/06/25(土) 14:33:48.08ID:???
GAEのインスタンスってプロセスみたいなもんだろ。

仮想サーバ一台分ってネタで言ってんのか?w
0238nobodyさん2011/06/25(土) 20:25:00.81ID:CuFr1x67
http://www.google.com/events/io/2011/sessions/full-text-search.html

全文検索来てるやん
結構ビッグニュースなのになんでまだ出てないの?
0239nobodyさん2011/06/25(土) 22:49:03.86ID:???
>>238
リリースされたらまた来てね
0240nobodyさん2011/06/26(日) 00:57:56.98ID:???
詐欺集団
0241nobodyさん2011/06/26(日) 05:34:27.23ID:???
インスタンスってプロセスなのか
ec2みたいな感じかと思ってた
0242nobodyさん2011/06/26(日) 23:00:58.10ID:khL3PMIp
夕方からサーバーエラー出てるけどみなさんところは無事?
0243nobodyさん2011/06/27(月) 00:15:43.24ID:???
もう使ってないから平気
0244nobodyさん2011/06/27(月) 04:40:00.07ID:???
金取るのにエラーww
舐めてるの?
0245nobodyさん2011/06/27(月) 08:37:42.42ID:???
AmazonのEC2とかでアメリカのベンチャー企業はサービス立ち上げるみたいだけど
GAEはAmazonのEC2とかに対抗できるんでしょうか?
0246nobodyさん2011/06/27(月) 10:16:11.44ID:rp/Vk+jP
サーバーエラー自己解決しました。
アプしたソースにエラーがありました。

でも、そのソースは呼び出してないんだけどアプリ全体が落ちるっておかしいですよね?
ローカルレベルで一切チェックしなかったのも悪かったですけど
まだ書きかけのソースなんて今までもいっぱい混ざってたと思うのですが
今回はmain.pyにimportしてたせいですべて落ちることになったみたいです。
main.pyにテスト用のimportなんかしてる場合は気を付けないといけないですね。
0247nobodyさん2011/06/27(月) 11:49:24.70ID:???
ログくらい見ろやぼけ
0248nobodyさん2011/06/27(月) 12:04:32.64ID:rp/Vk+jP
ログにはエラーがなかったんです。
リクエストも記録なし。
コンパイルでアプリケーション自体が落ちてたから?
0249nobodyさん2011/06/27(月) 12:10:19.06ID:???
使い方によって妙に課金額がでかくなりそうなのが嫌
0250nobodyさん2011/06/27(月) 12:39:00.88ID:rp/Vk+jP
上限あるからそんなことはないけど、初期データのセットアップやテストデータの削除でクオータ使い切るとやるせない。
負荷テストや初期のセットアップ用に別メニューあるといいんだけどさ。
負荷テストは同じコードのアプリ3つ作っておいて分散してクオータ使うか松尾さんに相談するしかないのかな?
0251nobodyさん2011/06/27(月) 16:47:00.27ID:rp/Vk+jP
デプロイが早くなったね
0252nobodyさん2011/06/27(月) 18:11:26.48ID:???
ProtoRPCってなによ?
0253nobodyさん2011/06/27(月) 18:33:50.75ID:???
サンプルコード見ればだいたい分かるだろ
Google App Engine Blog: Introducing ProtoRPC for writing App Engine Web Services in Python
http://googleappengine.blogspot.com/2011/04/introducing-protorpc-for-writing-app.html
0254nobodyさん2011/06/27(月) 18:36:25.05ID:rp/Vk+jP
ウェブサービスを簡単に定義できるみたい

client:

class HelloRequest(messages.Message):
my_name = messages.StringField(1, required=True)

class HelloResponse(messages.Message):
hello = messages.StringField(1, required=True)

class HelloService(remote.Service):

@remote.method(HelloRequest, HelloResponse)
def hello(self, request):
return HelloResponse(hello='Hello there, %s!' % request.my_name)

If this web services was used as the URL end-point for an AJAX based form, Javascript to communicate with the service might look like this:

$.ajax({url: ‘/helloservice.hello’,
type: 'POST',
contentType: 'application/json',
data: ‘{ my_name: Bob }’,
dataType: 'json',
success: function(response) {
// The response is { hello: “Hello there, Bob!” }
alert(response.hello);
}
});

http://googleappengine.blogspot.com/2011/04/introducing-protorpc-for-writing-app.html
0255nobodyさん2011/06/27(月) 18:41:48.97ID:rp/Vk+jP
ageっぱなしだったごめんなさい
0256nobodyさん2011/06/27(月) 21:31:40.51ID:???
サンプルページも作ってほしいよね。
0257nobodyさん2011/07/10(日) 11:25:11.25ID:???
modelのエンティティを取得しましたが、ORDER BYに制約があるため並べかえを行いたいです。
あるプロパティで並べ替えを行う簡単な方法は提供されていますか?
0258nobodyさん2011/07/10(日) 11:36:26.91ID:???
fetchした後にlist.sort(key=...)とかでがんばってください
0259nobodyさん2011/07/10(日) 11:50:50.44ID:???
ああ こういう場合はGQLを使わない方がいいのですね!
確かにその方が目的にかなってる気がします
ありがとうございました!
0260nobodyさん2011/07/10(日) 11:57:17.98ID:???
ああ GQLQueryのfetchを使うのですね
勘違いでした
0261nobodyさん2011/07/16(土) 09:05:57.43ID:???
Updated App Engine Pricing FAQ!
https://groups.google.com/forum/#!topic/google-appengine/Hluog1_a3n4/discussion

15 minute startup feeってのが本気で曲者だな。
0262nobodyさん2011/07/16(土) 09:09:29.22ID:???
インスタンスを立ち上げるたびに、実際にインスタンスが立ち上がっていた時間以外に、
startup feeとして15IHが追加課金される。

インスタンスが一度落ちて、
15分以内にもう一度立ち上がった場合は、
新たにstartup feeは取られないが、落ちていた間もずっとインスタンスがあったとして課金される。

最初のアクセス後に、14分後にもう1回アクセスがあっただけで、
30IHを消費する事になるな。
従来のCPUTimeならものの数秒なのに。

で、合ってる?
0263nobodyさん2011/07/16(土) 12:22:40.30ID:???
あってると思う。
1インスタンスで捌けるリクエストなら無料分(24時間分)が効いてくるけど、
複数インスタンスになると途端に課金額が跳ね上がるね
常時2インスタンス立ってるとしたら月約6000円
あらかじめインスタンス生成と消滅に関する設定が増えるみたいだけど、
インスタンスを作らせないコツがあったら教えてください
0264nobodyさん2011/07/16(土) 13:06:06.24ID:???
ほす
0265nobodyさん2011/07/16(土) 17:00:29.21ID:???
>>263
そうか。
スケールするのが魅力なのに
スケールしたら大変な事になるのか。
インスタンス生成は最高1個までしか作らせない、とかいうのは設定でできるっぽいが。
素直に他に行った方がいいのかな。

googleは本音ではapp engineを終わらせたいのか?
ユーザーを追い出す為の料金設定?
0266nobodyさん2011/07/16(土) 17:38:09.40ID:???
素直に他に行った方がいい

>googleは本音ではapp engineを終わらせたいのか?
>ユーザーを追い出す為の料金設定?

だよね
0267nobodyさん2011/07/17(日) 05:45:25.19ID:???
>>262
単位がちょっと間違ったな。
15IHじゃなくて、15m分のIHか。
とはいえ、IHの浪費を抑えたければalways on 状態を維持するしかなく
それだとstartup料金の15minutes分のIHが足りない。初日だけか?

一日に1000人も来ないようなサイトなら、なんとかなるかもしれない。
時間帯や曜日や日付ごとにインスタンス設定変えられる、とかならいいのに。
0268nobodyさん2011/07/17(日) 06:20:26.78ID:???
https://groups.google.com/group/google-app-engine-japan/browse_thread/thread/ac6e42999887b61f/90cba372f038ce48?lnk=gst&q=%E6%96%99%E9%87%91#90cba372f038ce48
気になるのは、この文面。

「有料アプリケーションにして $9 お支払いいただければ、最小のアイドルインスタンスを 1
に設定することで、無料枠の 24 インスタンス時間/日 を利用してインスタンスをいつも立ち上げておくことができるようになります。 」

Freeだと、常時立ち上げによってIHの浪費を抑えるのはできないってことかな。
もうそうならFreeだと、一日に100人も捌けない可能性が出てくるけど。
0269nobodyさん2011/07/22(金) 15:05:56.95ID:???
誰か教えてください。

aaa = u'ああああ'
return self.redirect('/page?aaa='+aaa)

という感じで画面遷移しようとすると
UnicodeDecodeErrorになります。

aaa = aaa.encode('utf_8')
とか色々なところに.encode('utf_8')をつけてみましたが
上手くいきませんでした。
どうすればクエリーストリングに日本語をいれて
UnicodeDecodeErrorにならずにリダイレクトできますか?
0270nobodyさん2011/07/22(金) 18:32:11.89ID:???
>>269
urlencode
0271nobodyさん2011/07/24(日) 00:10:33.49ID:???
こいつおもしろいっすね
http://gaejava.appspot.com/
0272nobodyさん2011/07/24(日) 00:38:30.04ID:???
どこが?
0273nobodyさん2011/07/25(月) 23:33:31.06ID:???
>>271
THX 4 UR INFO
0274nobodyさん2011/08/02(火) 22:01:50.10ID:8f7TcR7+
うめ
0275nobodyさん2011/08/03(水) 17:33:41.40ID:???
アップロードしたくないファイルのパターンを指定することはできますか。
たとえば .gitignore や tmp をアップロードしないようにしたいです。
0276nobodyさん2011/08/03(水) 17:56:05.36ID:???
出来る
マニュアル読め
0277nobodyさん2011/08/03(水) 22:10:12.83ID:???
>>276
マニュアルのどのページでしょうか。
0278nobodyさん2011/08/04(木) 11:59:49.44ID:???
*使えばいいんじゃないのか
0279nobodyさん2011/08/04(木) 19:56:12.94ID:???
ASSCI出版の標準Djando 
第11章テンプレートシステム244P-225Pの
サンプルコードについて質問です

-----テンプレート部分----
{% upper %}
This will appear in uppercase {{ your_name }}
{% endupper %}

-----タグ用の関数部分-----
def do_upper(parser, token):
nodelist = parser.parse(('endupper'))
parser.delete_first_token()
return UpperNode(nodelist)

class UpperNode(template.Node):
def __init__(self, nodelist):
self.nodelist = nodelist

def render(self, context):
output = self.nodelist.render(context)
return output.upper()

register.tag('upper', do_upper)

このサンプルは意図通りに動きました。しかし、
return UpperNode(nodelist)でUpperNodeクラスを呼ぶと
何故def render〜のブロックが実行されるのか理解できてません。
自動で呼ばれるのはコンストラクタの__init__メソッド
だけだと思ったのですが。
renderメソッドがどのように実行されたのか教えて貰えないでしょうか。
0280nobodyさん2011/08/04(木) 20:19:49.54ID:???
>return UpperNode(nodelist)でUpperNodeクラスを呼ぶと

呼んでる訳じゃないから
0281nobodyさん2011/08/04(木) 20:24:59.86ID:???
>>279
クラスの基礎を勉強しましょう
0282279 2011/08/04(木) 21:24:02.62ID:???
>>281
どういうことかザックリとでいいので教えて貰えませんか?
0283nobodyさん2011/08/04(木) 21:33:19.76ID:???
>>282
>>279はApp EngineやDjango固有の話ではないのでPythonスレで聞いてください
0284nobodyさん2011/08/04(木) 23:21:54.59ID:???
馬鹿には無理
0285nobodyさん2011/08/05(金) 10:22:24.52ID:???
なんかここにはふてくされた野郎ばっかり残ったなww

オワコンだからかw
0286nobodyさん2011/08/05(金) 12:58:36.16ID:???
UnacceptableVersionError: django 1.2 was requested, but 0.96.4.None is already in use

宣言を一番上に書いても再起動しても出る
しかも突然ではじめた
おなじ症状の人いますか?
0287nobodyさん2011/08/05(金) 13:30:08.99ID:???
あれ・・・突然治った

なんだろ
0288nobodyさん2011/08/05(金) 14:04:39.77ID:???
鯖が変わったんだろ
0289nobodyさん2011/08/05(金) 20:53:33.54ID:???
>>285
仕事取られまいと必死な奴がだいぶ前からスレに張り付いてる。
0290nobodyさん2011/08/06(土) 11:57:50.17ID:???
>>289
なるほど。
これからもくだらない質問するのでよろしくお願いします。
0291nobodyさん2011/08/06(土) 16:26:57.72ID:???
>>286
main.pyで違うdjangoをロードしてた orz
0292nobodyさん2011/08/10(水) 10:58:33.46ID:???
queryクラスから取得したエンティティのプロパティにループでアクセスする方法ありますでしょうか?
0293nobodyさん2011/08/10(水) 11:19:30.93ID:???
例えばあるモデルのエンティティを辞書型に変換するみたいなことができればいいのですが
0294nobodyさん2011/08/10(水) 12:38:07.27ID:???
>>292
普通にfor inでok
0295nobodyさん2011/08/10(水) 13:26:26.13ID:???
>>294
ありがとうございます。説明不足ですみません。
queryクラスからfor in でエンティティを取り出して
そのエンティティのプロパティをループで全部取り出したいんですが、
for in だとうまくいきません・
0296nobodyさん2011/08/10(水) 23:17:48.80ID:???
obj.properties().items()でした過去ログにもありましたね。
0297nobodyさん2011/08/18(木) 02:14:44.46ID:???
appengine SDK 1.5.3 release
ttp://googleappengine.googlecode.com/files/google_appengine_1.5.3.zip
0298nobodyさん2011/08/18(木) 07:06:51.15ID:???
gae使うか普通のサーバーでdjango使うか悩む
0299nobodyさん2011/08/18(木) 20:04:09.79ID:???
普通の鯖がいいよ
0300nobodyさん2011/08/18(木) 20:29:52.20ID:???
2.7来たな
0301nobodyさん2011/08/19(金) 01:09:01.44ID:???
GAE for Pythonで2ch鯖もどきを試作して、とりあえずJaneから読み書きできたので報告
吐けないヘッダの都合でdatが壊れた扱いになるため完全な動作がしないのがわかりました

http://gaebbs-test.appspot.com/gaebbs/

反応あったらソースコード上げます
0302nobodyさん2011/08/19(金) 01:20:59.41ID:???
Not Foundだった
0303nobodyさん2011/08/19(金) 01:29:19.65ID:???
専ブラの外部板追加で確認してみてください
read.cgiまだ作ってないです
0304nobodyさん2011/08/19(金) 05:43:21.09ID:???
>>301
うちもdatを吐くプログラムを作ってるけどJaneやV2Cでちゃんと読めているよ
吐けないヘッダって具体的になんだよ?差分取得を実装していないだけじゃないの?
あと、gaebbsってサービスはすでにある(2ch形式じゃないけどね)
0305nobodyさん2011/08/19(金) 06:33:31.88ID:???
Sign up to the Python 2.7 trusted tester program - google-appengine-python | Google グループ
http://groups.google.com/group/google-appengine-python/browse_thread/thread/4bde29d8e6dc0842
0306nobodyさん2011/08/19(金) 06:54:14.85ID:???
>>305
+1
0307nobodyさん2011/08/19(金) 07:35:16.68ID:???
>>304
読み込めてるのは確認したんだ
差分取得もできるけどContent-Range吐けてないか吐けてもそれとContent-Lengthが一致してないっぽい
名前は適当に付けたから不問にして欲しいんだけど
0308nobodyさん2011/08/19(金) 07:43:01.32ID:???
>>307
うちはちゃんとContent-Range吐けてるよ
書式が間違ってない?Content-Lengthは自分で好きなようにすればいいだろ
0309nobodyさん2011/08/19(金) 07:43:26.77ID:???
あと、ちゃんと206を返しているか?
0310nobodyさん2011/08/19(金) 08:00:07.36ID:???
>>308
Content-Length吐けんがな
ttp://code.google.com/intl/ja/appengine/docs/python/tools/webapp/responseclass.html#Disallowed_HTTP_Response_Headers
Content-Rangeの書式ミスは確認してみる
206はちゃんと返してる
0311nobodyさん2011/08/19(金) 08:25:49.77ID:???
>>310
Content-Lengthを自前で吐けなんて誰も言ってねぇよ
0312nobodyさん2011/08/19(金) 09:03:10.61ID:???
>>311
もう一回Content-Range書きなおしたらサイズ不一致なおりました
0313nobodyさん2011/08/19(金) 16:19:50.94ID:???
なぜ皆>>305にスルーなのか。2.7対応ってインパクト大きいと思うのだが。
0314nobodyさん2011/08/19(金) 22:31:09.52ID:???
GAE のためだけに自分の環境 2.7 にするのもアホくさい
0315nobodyさん2011/08/19(金) 23:31:44.85ID:???
>>313
インパクトのある変化をリストアップしてみなよ
0316nobodyさん2011/08/20(土) 08:18:30.57ID:???
>>315
もう2.5系を意識しなくて済む
0317nobodyさん2011/08/20(土) 09:42:49.73ID:???
だって、GAE自体オワコンじゃん
誰が新規で開発するんだよ
0318nobodyさん2011/08/20(土) 10:21:59.92ID:???
>>315
JSONが標準モジュールになった(2.6.くらいから)
0319nobodyさん2011/08/20(土) 17:56:44.33ID:???
それがどうかしましたか?
0320nobodyさん2011/08/23(火) 21:52:11.48ID:???
2chの鯖から差分取得出来るか?
0321nobodyさん2011/08/24(水) 08:06:59.95ID:94+3Z5mS
GAEってどれぐらい自由度あるの?
JavaNIOは使える?
■ このスレッドは過去ログ倉庫に格納されています