GAE
問題を経過時間で絞り込んで易しい問題、難しい問題、と分類しようとか思った easy = Question.all().order("elapse").filter("elapse >", 5).fetch(10) normal = Question.all().order("elapse").filter("elapse >", 15).fetch(14) hard = Question.all().o…
fetchの制限があるからどうやってpaginationを実装するのがスマートかなーと思ってたらまさにズバリな内容の文章が公式であった。App Engine でページングを行う方法 - Google App Engine - Google Codeシャードって何だカウンタのシャーディング - Google A…
あ、ここに書かれているのと同じ挙動かも。 http://d.hatena.ne.jp/naskin/20100219/1266584289 データを保存する場所を変えればいいのか。
Dashboardで編集できなくて悲しい。
http://github.com/arachnid/bulkupdateとりあえず手順通りに試してみよう、と思ったら handlers: - url: /_ah/queue/deferred script: $PYTHON_LIB/google/appengine/ext/deferred/handler.py login: adminこれがkay-framework(http://code.google.com/p/ka…
(注: このエントリーは間違った内容を含んでそうな気配がします。)Google App Engineでsaveしようとしたときに「AttributeError: 'FooBar' object has no attribute '_entity' 」というエラーがでてしまった件:モデルで class FooBar(db.Model): short_key =…
app-engine-patchのadmin画面にアクセスするとこういうエラーが出るので File "/.../admin/templatetags/admin_list.py", line 179, in items_for_result field_val = getattr(result, f.attname) File "/base/python_lib/versions/1/google/appengine/ext/d…
まずこのエラーになるまえにこれは済んでるはず - from ragendja.template import render_to_response + from django.shortcuts import render_to_response TemplateDoesNotExist at / ,... と大量のメッセージが表示される ragendja.template.render_to_res…
だいぶ長いこと「毎秒数回」のアクセスがあったけど、そろそろ収束してきたみたい。 CPU1個では足りない負荷がかかってたのはわずかな時間のようだ。これの10倍までの負荷が毎日かかっても無償の範囲内で耐えられる。前に最中限オンラインを作ったときに頻繁…
大したことないサービスなのに4%も食ってるなー。Matrix:Itemが1:nで、Item:Positionが1:mだから、1枚のマトリクスを表示するのにO(mn)のクエリが発生するんだよな。そこが問題点かな。Positionの平均をキャッシュさせたらいいんだな。memcachedに「Item.id …
Foo(key_name=...)でキーの名前を指定できる foo.key_nameになってるかと思いきやfoo.key().name()だった Foo.get_by_key_name(...)でその「キーの名前」でアクセスできる key_nameがコンフリクトしたら例外とか飛ぶのかなーと思ったけど飛ばなかった。 試し…
Django Hack-a-thonで聞かれて口頭で答えたのを今思い出したので書いておく。僕はsettings.pyのINSTALLED_APPSの設定の後にこう書いてる。 IS_LOCAL = os.environ.get('SERVER_SOFTWARE', '').startswith('Dev') if not IS_LOCAL: INSTALLED_APPS.remove("my…
細々したウェブアプリを作るのにわざわざ10個しかないGoogle App Engineのアプリケーション枠を使うのはもったいない。app-engine-patchを使っているので./manage.py startapp fooで作れば、一つのアプリケーション枠でいくつも動かせるし、独立したアプリに…
まずこんなデコレータを作って def synchronized(func): def synchronized_func(*args, **kw): return db.run_in_transaction(func, *args, **kw) return synchronized_func つぎにこんなファクトリーを作った。 @synchronized def make_instance(cls, *args…
Google App Engineの話。URLはIEでさえ最長2083文字まで受け付けるので、500文字が上限のStringPropertyに入れるわけにはいかない。 class StringProperty(verbose_name=None, multiline=False, ...) A short string property. Takes a Python str or unicod…
Django on Google App Engineでちょこちょこ開発しているけども、やっぱりDjangoなのにあのきれいなadmin画面が使えないのではDjango人生の80%くらいを損していると思うのでid:voluntasにすすめられたapp-engine-patchを使ってみる。http://code.google.com/…
細々したサービスを入れるためにGoogle App Engineでnishiohirokazu.appspot.comを取ろうとしたら、誰かに既に取られていた。誰ですか。どう考えても身内だと思うのですがー(笑) - http://twitter.com/KeiyaKanno/status/1002187071 アカウント名のアプリは…
むう、Google App Engineをやめて引っ越すためにデータを適当な形式にしてダウンロードしようと思ったんだけど、全体を一度にやろうとすると例のごとくDataStoreのタイムアウトになり、fetchのoffset引数で「1100番目から100個」みたいに取ろうとするとoffse…
templatetagsで何が出来るかわからない人のために1行で解説すると、{{ hoge|my_filter }}でhogeを引数にしてmy_filterっていう自作の関数が呼べるんだ!(他にも色々出来るけど)カスタムフィルタなしで、例えばカード番号(整数)からカード画像のimgタグを作っ…
Exception Type: Timeout Exception Value: Exception Location: /base/python_lib/versions/1/google/appengine/api/datastore.py in _ToDatastoreError, line 1627 データストアへのアクセスに時間がかかり過ぎと言われても。。。普段は問題なく動いていて…