Google App Engine for Python 4アプ目 at PHP
Google App Engine for Python 4アプ目 - 暇つぶし2ch490:nobodyさん
11/11/12 15:12:41.22
鯖側の面倒見なくてもいいGAEは
オレにとっちゃ神ツール

491:nobodyさん
11/11/12 17:43:52.06
>>490
それってクラウド全般にいえるんじゃない?

492:nobodyさん
11/11/12 19:21:15.30
>>490
VPSと比べると思ったよりメンテが多過ぎてだめだわ

493:nobodyさん
11/11/18 19:02:32.66
Geolocation API使ってるんですが、現在位置を取得するごとにdatastoreに緯度経度を書き込みたいのですが、やりかたがわかりません。Script内からdatastoreにパラメータをどのように渡すのでしょうか?
よろしくお願いします

494:nobodyさん
11/11/19 11:17:27.76
AjaxでPOSTすればいいと思います

495:nobodyさん
11/11/19 12:04:32.88
改訂前0.26ドル 予想0.36ドル 結果2.1ドル

一瞬びっくりした

最低料金以内ってことね

496:nobodyさん
11/11/19 12:06:51.68
あれ? おなじアカウントで3つサイト公開してるけどこの料金でいいの?

安くない?

497:nobodyさん
11/11/19 13:54:38.08
課金内訳はインスタンス代が大半で、月額換算すると決して安くはないが、実はそこまで高くないってのが本音。
維持管理が面倒な人に最適だわな。
ここ一ヶ月は割と安定してて、障害やメンテの多いVPSよりは稼働率は高いかも。

498:nobodyさん
11/11/19 17:36:24.01
インスタンス代ってなんだよ

499:nobodyさん
11/11/19 22:00:42.32
gaeの他に他に目ぼしいpaasって無いんだよな。
国内でherokuやazureとか使ってサービス立ててる話は全然聞かないわ。
もしかしてpaas自体オワコンなのかねぇ


500:nobodyさん
11/11/19 23:50:44.79 SoBJLCFQ
Python27でFlaskを使っています。
Werkzeugデバッガーを利用したいのですが、うまく動いてくれません。ブラウザから見ると、エラー時は画面が真っ白で何も表示されていないです。
どなたかうまく動かす方法を教えてください…!

501:nobodyさん
11/11/20 11:56:14.48
>>494
すみません、やってみたのですがいまいち理解しておらず上手くいきません。
具体的に教えてくださらないでしょうか?


502:nobodyさん
11/11/20 12:18:16.24
>>501
どうやったのか具体的に書け

503:nobodyさん
11/11/20 12:21:57.53
>>502
Ajaxに今まで触れたことがなかったので、参考になりそうなサイト調べながらやったので具体的にと言われてもあまり上手く説明できません。すみません
参考になりそうなサイトなどありますでしょうか?

504:nobodyさん
11/11/20 12:23:19.43
>>503
+ JavaScript の質問用スレッド vol.93 +
スレリンク(hp板)


505:nobodyさん
11/11/20 12:37:42.44
>>504
JavaScriptに関する質問になりますよね、すみません。ありがとうございます!

506:nobodyさん
11/11/20 13:23:31.08
2.7への移行やってるが、けっこう引っかかるな。gqlなんちゃらとか使ってないはずなの
にHRD使えエラーで引っかかる

「移行の注意書き」どおりにデュプリケートとかするのも結構めんどくさそうなので、ソー
ス流用しながら新規で作ったほうが楽かもしれない

507:nobodyさん
11/11/20 13:42:06.23
2.7はローカル環境で動かないってのが面倒だね

508:nobodyさん
11/11/20 15:27:22.42 W6dgjo1L
>>507
動いてるけど

509:nobodyさん
11/11/20 17:27:58.63
>>499
AppEngine、オートスケールはやっぱり魅力だよな~。
ロックインの問題はあるにせよ。

URLリンク(code.google.com)
いちおうこんなのもあるにはあるけど。。誰か試した人いる?

510:nobodyさん
11/11/20 17:53:25.73
2.7でもローカルで動くようになったのか?
試してみっか

511:nobodyさん
11/11/20 22:21:55.60
logging.info(text.uncode('utf-8'))

って感じでターミナルにログ出力するとunicodeエラーになる
self.response.out.write(text.uncode('utf-8'))
でプラウザに出力すると問題ない。
SDK(1.6)のバグでしょうか?MacLionです。

512:nobodyさん
11/11/20 22:30:39.41
なんか2.1ドルの請求来てるんだが何これ

513:nobodyさん
11/11/20 22:40:33.78
>>511
エラー全部貼れよ
うんこーどなのかencodeなのかdecodeなのかはっきりしろ

514:nobodyさん
11/11/20 23:23:39.34
DSの中身
URLリンク(uproda.2ch-library.com)

o = Employee.get_by_id(442)
logging.debug(o.name.encode('utf-8'))

↓結果

db/__init__.py", line 2696, in validate value = self.data_type(value)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore_types.py", line 1138, in __new__
return super(Text, cls).__new__(cls, arg, encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
INFO 2011-11-20 14:20:23,866 dev_appserver.py:2753] "GET /a HTTP/1.1" 500 -

こんな感じです。

515:nobodyさん
11/11/21 00:09:54.05
エラーメッセージは省略せず全部貼れ
長くて貼れないときはpastebin.comとか使え

516:nobodyさん
11/11/21 01:25:03.16
>>511
どうせ毎度のこれだろ

import sys
stdin = sys.stdin
stdout = sys.stdout
reload(sys)
sys.setdefaultencoding('utf-8')
sys.stdin = stdin
sys.stdout = stdout


517:nobodyさん
11/11/21 08:22:20.32
エラーログ貼りました。それで今さっき気づいたんですが
logging.debug()はきちんとターミナルに出力してました。出力後の処理でエラーになってるようです。

エラーコード
URLリンク(pastebin.com)

ちなみにlogging.debug()のクラスの全体はこんな感じです。

class A(webapp2.RequestHandler):
 def get(self):
  o = Employee.get_by_id(442)
  logging.debug(o.name.encode('utf-8'))
  return

518:nobodyさん
11/11/21 10:01:11.54
>>517
Issue 6378 - googleappengine - SDK ->
Logging has unhandled UnicodeDecodeError exceptions (root cause is not shown) - Google App Engine - Google Project Hosting
URLリンク(code.google.com)
最近入ったバグっぽいね

519:nobodyさん
11/11/21 10:33:48.74
またうにこーどか!!

520:nobodyさん
11/11/22 08:07:57.78
SDKのバグの可能性ってことですね。ありがとうございます。

521:nobodyさん
11/11/24 23:14:56.45
AppEngine Pythonでサイト作った。
ローカルで動かすと、Firefoxでは問題なく動くけど、Chromeだとページにアクセスするごとに意味不明なウェイト(10secぐらい?)が入る。
ただしcssファイルへのアクセスにはウェイトが入らない。
localhost:8080でも127.0.0.1:8080でも同じ。
原因がさっぱりわからない。だれか助けて。


522:nobodyさん
11/11/25 08:44:33.39
ごめん無理

523:nobodyさん
11/11/25 17:54:33.24
逆引きじゃね?

524:nobodyさん
11/11/25 19:37:31.34
>>523
localhostに対しても逆引きを行うものなの?
それから、Firefoxでは問題ないんだけど、Chromeだけが逆引きしてるってこと?

525:nobodyさん
11/11/26 10:01:00.40
>>521
8.8.8.8.のGoogleのDNS設定してね?

526:nobodyさん
11/11/26 11:20:33.67
URLリンク(lmgtfy.com)

527:nobodyさん
11/11/26 11:26:12.61
やっぱり素人か
URLリンク(www.ah-2.com)


528:nobodyさん
11/11/26 12:32:25.60
>>526
そのサイト面白いなw

529:nobodyさん
11/11/27 09:36:29.05
毎日2ドルの請求が来るんだが。。

530:nobodyさん
11/11/27 09:43:56.02
毎日じゃなくて毎週だろ?
課金有効にすると毎月9ドルの基本料金が掛かります
請求は週ごとに2.1$

531:nobodyさん
11/11/27 09:56:27.50
今のトレンドは、その最低課金でついてくる無料分クォータで収めることっぽいな

532:nobodyさん
11/11/27 10:43:34.55
>>525
その通りでした。
DNSサーバの設定から8.8.8.8と8.8.4.4を外すと、localhostでも待たされることなく表示されるようになりました。
逆引きうんぬんは関係ないようですね。
また8.8.8.8をつかったままにしたい場合は、localhostのかわりに127.0.0.1を使うといいようです。
ありがとうございました。



533:nobodyさん
11/11/27 17:39:39.06
最低課金で済むくらいなら
VPSでも借りた方がいい

534:nobodyさん
11/11/27 19:55:52.53
月9ドルなら最早いまどきのVPSの方が高性能で安いしな

535:nobodyさん
11/11/27 21:53:05.99
料理は自分で作れば安い
というタイプか

536:nobodyさん
11/11/28 00:40:46.99
高性能さを体感できるほど、人が来てくれない件についてはともかく

もうOSとか管理したくないよ。

537:nobodyさん
11/11/28 10:19:47.11
そもそもOSの管理人任せにしてたから大幅コストダウンだよ

538:nobodyさん
11/11/28 10:52:55.29
管理しなくていい・オートスケーリング・無料で始められる
この3点だけ従量が少々お高くても価値はあると思う。
webサービスって一時的にアクセス増大することも多々あるので、スケーリングなんかも魅力的だよねー

539:nobodyさん
11/11/28 13:23:11.55
いたいな

540:nobodyさん
11/11/28 14:55:03.79
Google App Engineは他のクラウドと比べて割高

541:nobodyさん
11/11/28 15:10:19.52
まったく同等の機能を持つクラウドと比較しないとナンセンス

542:nobodyさん
11/11/28 16:11:51.03
別に機能を生かしているわけでもないでしょ
値上げ前の安さに釣られただけだもん

543:nobodyさん
11/11/28 16:45:42.50
そういう人はもう残ってないだろ

544:nobodyさん
11/11/28 17:31:40.84
> 別に機能を生かしているわけでもないでしょ
ネガ乙
まるで反論になってない

545:nobodyさん
11/11/28 17:48:48.87
>>542にとっては
GAEの機能を生かせず高くつく
ということか

546:nobodyさん
11/11/28 20:11:44.03
馬鹿には無理

547:nobodyさん
11/11/28 20:26:17.25
手軽に作るには、ちょっと高くなった(主に個人)
コストをペイできるレベルだと、ロックインが怖すぎる(主に法人)

という状態

548:nobodyさん
11/11/29 13:21:50.96
メモリエラーが出てしまうdb操作についてなにか参考になるリンクがあったらご紹介いただけないでしょうか
一つのモデルにエンティティが300くらいあって
複合検索条件を満たすためにインデックスを20程設定したところ
単純に
hoge.gql(u" ORDER BY ID LIMIT 200")
という操作でさえメモリーエラーが出るようになりました
LIMITを150にすると通ります

これをせめて500以上操作できるようにしたいのですが、どの方法が効果的でしょうか?

モデルを分割して検索条件だけのモデルを作成他のデータはReferencePropertyで紐付けする
モデルを分割して検索条件だけのモデルを作成他のデータは自前のIDで紐付けする
インデックスを整理
他の方法

データの分割はリストを作成する手間を考えると極力避けたいです
ReferencePropertyで紐付けすると検索に成功しても子データにアクセスした瞬間にメモリが一気に増えるのでしょうか?
インデックスの整理だけでどの程度なんとかなるものでしょうか?
試せばわかることではありますが、どの順番で試したらいいかくらいの方向性が見えるとありがたいです。
ヒント程度で何かアドバイスをお願いいたします。

549:nobodyさん
11/11/29 14:43:06.23
"メモリエラー"ってのは具体的になんだ?
tracebackを全部貼れ

550:nobodyさん
11/11/29 16:29:12.14
>>549
ありがとうございます。
ローカルでは再現しないのでトレースバックはないです。
ログには

"GET /jsonservice?callback=jsonp1322547031729&_=1322547106213&com=BKdata&floatformat=true&sksijky=%E4%BD%9C%E6%88%90%E6%B8%88%E3%81%BF
HTTP/1.1" 500 0 - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko)
Chrome/15.0.874.120 Safari/535.2" "hoge.appspot.com" ms=4727 cpu_ms=5346 api_cpu_ms=1846 cpm_usd=0.148551 loading_request=1
exit_code=105 instance=00c61b117cefbe7b4f955522bf1e191109597807
C 2011-11-29 15:11:48.360
Exceeded soft private memory limit with 173.582 MB after servicing 0 requests total
I 2011-11-29 15:11:48.360
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time.
This request may thus take longer and use more CPU than a typical request for your application.
W 2011-11-29 15:11:48.360
While handling this request, the process that handled this request was found to be using too much memory and was terminated. This is likely to
cause a new process to be used for the next request to your application. If you see this message frequently, you may have a memory leak
in your application.

ブラウザには致命的なエラーがどうとかレポートしてくれよどうとかってグーグルの定型の画面が出ます。

551:nobodyさん
11/11/29 18:42:15.22
インデックス関係なくてプロパティが多すぎるのでは?
インデックスをいったん削除して試してみて

552:nobodyさん
11/11/29 19:01:23.96
>>551
了解しました

やはりプロパティが多すぎるのは致命的ですか・・・
プロパティ増やさずインデックス増やしたところ最近エラーが出始めたので
減らしてみる価値あるかも知れないです

553:nobodyさん
11/11/29 19:24:44.94
>552
エラー関連の話は、appengineのグループで聞いた方が早いよ
エバンジェリストが常駐してるし

554:nobodyさん
11/11/29 22:42:07.49
Google App Engineが値上げしたおかげで
GAE使おうと提案した俺の社内での立場が微妙になりましたよ

555:nobodyさん
11/11/30 07:36:20.91
高くなりすぎだろ
バカか
放置してたの久々に見たらマジで30倍くらいになってて目が飛び出そうになったわ
反映数週間で気づいてよかった


556:nobodyさん
11/11/30 08:41:41.86
GAEでもパケ死するんだね。
パケホーダイってないの?

557:nobodyさん
11/11/30 08:53:49.04
>>556
$9+自分が設定した金額しか使われないからパケ死なんて無い

558:nobodyさん
11/11/30 09:08:48.54
>>553
そうですね一度相談してみます

559:nobodyさん
11/11/30 11:40:37.31
>>557
サービスが止まるわけだから
実質死ぬけどな

560:nobodyさん
11/11/30 14:14:47.89
>>548
>他の方法

GAEを捨てる

561:nobodyさん
11/11/30 14:58:43.57
HTTP実装はまた流行るよ。
VPSが安くなってきたから。
レンタルサーバが安くなってくると同時にLinuxが流行ったのと同じ感じ。

562:nobodyさん
11/11/30 18:38:21.18
インスタンス数さえ制限すればそんなに急激に変わらないんだろ?

563:nobodyさん
11/12/02 16:17:42.59
そんなに高いか?
Paasと考えてもAWS Beanstalkと比べるとかなり安いような
2倍ぐらい違わない?

計算方法が間違ってるのかな?
どこかに比較サイトとかないかな

564:nobodyさん
11/12/02 23:36:55.69
python2.7のwebapp2はどうやら
他のサーバーでも使えるって書いてあるみたいだな

ロックインで不満続出したのがよっぽど痛かったのかな
webapp2を使えば、とりあえずGAEアプリの持ち出しは可能になったと見ていいのかな?

565:nobodyさん
11/12/03 01:10:47.13
>>564
データベース周りが決定的に違うから無理

566:nobodyさん
11/12/03 01:33:45.29
SQL使えるようになったらそれも解決かな?

567:nobodyさん
11/12/03 01:52:13.83
誰かフリーでGQL互換のラッパ作らないのかな

568:nobodyさん
11/12/03 15:10:16.81
作ったよ
自分で脱出するのに使った
気が向いたら公開してもいい

569:nobodyさん
11/12/03 17:44:04.26
ちょっと前にwebapp2テストした時にApacheで動かせなかった

570:nobodyさん
11/12/04 10:42:49.52
webapp2てtipfyの中の人がつくってるんじゃないの。

571:nobodyさん
11/12/04 14:58:24.00
python2.7のスレッドセーフについて調べています。

webapp.RequestHandler を継承しているクラスの
フィールド変数は共有されるのかどうかについて、
どなたか教えていただけませんでしょうか。

クラス外の変数は共有されるというのがわかりました。
例えば以下の変数 testA は同一プロセス内ユーザAとユーザBとで共有され
ユーザAが testA の値を 2 に書き換えると、ユーザBの testA の値も 2 になると。

testA = 1
class Index(webapp.RequestHandler):
  def get(self):
    self.testB = 1
    testC = 1

ここで、self.testB はどうなのでしょうか。
ユーザA が値を 2 に書き換えると
ユーザBの self.testB の値も 2 になるのでしょうか。
もし変更される場合、testC のように
ローカル変数を生成すれば問題は解決する、ということでよいでしょうか。

572:nobodyさん
11/12/04 16:04:39.66
なりません

573:571
11/12/04 17:23:07.97
ありがとうございます

574:nobodyさん
11/12/09 08:34:15.74
python image libraryで遊ぼうと思ったのだが、Image.openがファイル名要求するから、
urlfetchしてきたデータを一度blobで擬似ファイルにゴニョゴニョしないといかんのか。
ドキュメントも丸投げだし、多少手を入れるつもりなのだろうか。

575:nobodyさん
11/12/09 08:55:18.27
StringIO

576:nobodyさん
11/12/11 13:39:18.23
去年作ったマスター/スレーブ型データストアで上限2ドルに設定したアプリの請求が
来るようになったんですが、なんなんすかこれ。
当然アクセスは0なんで無料枠の範囲内のハズです。

577:nobodyさん
11/12/11 13:54:04.49
>>576
>>530

578:576
11/12/11 14:27:28.88
なるほどー

579:nobodyさん
11/12/12 06:10:00.86
値上げに気付かず
毎月9ドルずつ取られる奴
続出か

580:nobodyさん
11/12/12 10:07:44.76
これだけ話題になったのに
価格設定変更に気づかないとか
そんな人多くないでしょ

581:nobodyさん
11/12/12 13:42:32.55
設定したまま放置の人が今頃気づいてるってとこか
普段から使ってるとか、ちょうど開発してたとかは気づく

582:nobodyさん
11/12/12 20:10:24.92
まるで詐欺ですね

583:nobodyさん
11/12/12 23:29:02.46 U+NGKBIJ
そういやメールでの通知もなかったような…
まあひとつもアプリS-inしてないけど

584:nobodyさん
11/12/13 02:35:59.58
鯖移転記念
URLリンク(www.nicovideo.jp)

585:nobodyさん
11/12/15 22:03:52.26
webapp2のRegistryってどんな時に使うと便利なんでしょう?
URLリンク(webapp-improved.appspot.com)

586:nobodyさん
11/12/17 23:58:55.42
【ウェブアプリケーションという不幸 】

現在、多くのプログラマ(素人)がウェブアプリケーションというものがベストな正しい方向だと勘違いしている。
ソフトウェアの作るにおいてそのアプリケーションに応じた状態遷移を実装するというのは基本中の基本である。
その点においてウエブブラウザというある状態遷移が実装されているアプリケーションの上に
また別のアプリケーションを実装するのは論外である。
そこまでするなら普通にアプリケーションを実装してダウンロードして使ってもらえばいいのである。
ウェブアプリケーションとは虚構にしか他ならない。
ウェブアプリケーションを作ろうとしているあなた。
今すぐ普通のアプリケーションとし設計し始めてはいかがだろう。
そうすればきっと後悔しないですむ。

HTMLやHTTPを悪者にはしていない。
TCP/IPができあがり、その応用として、ファイルを送ったりするようになった。
ファイルの中身のテキストにデータ構造をもたせ、それはつまりツリー構造なわけだが
その実装としてのハイパーテキスト、つまりHTMLという送る側と送られる側で決め事(プロトコル)
をつくり、画像や音楽など表現の幅を広げることは当然の成り行きだっただろう。
そして、その送る側としてのHTMLファイルサーバ、つまりWebサーバ、送られる側としてのプロトコルの解釈・表示系としての
ブラウザというアプリケーション。
ここまではいい。
だが、そこから先が素人の発想というか、いそがばまわれを忘れた者の愚かな発想。
つまりブラウザ上で、アプリケーションを動かすという発想なのである。
ブラウザというのは、おくられてきたステートレスな通信内容の一瞬の表示手段でしかない。
つまりアプリケーションのためのひとつのパーツなのである。
Windowsでいえば、コントロールのひとつ。(実際WebBrowserというコントロールがある。)
JavaならWebClietnだ(これは、ブラウザではないが。)。
包含関係が逆なのである。
ブラウザ上にアプリケーションを作るのは愚かなブームである。

587:nobodyさん
11/12/18 00:31:38.89
どこからのコピペだ

588:nobodyさん
11/12/18 00:42:26.63
具体的な問題点の指摘が一切ないな
読んで損した

589:nobodyさん
11/12/18 02:56:22.94
元ネタみつけた()
スレリンク(pcnews板:229-番)

590:nobodyさん
11/12/18 11:22:33.19
webapp2_extrasのsecurecookieモジュールって全然セキュアじゃねーじゃん。。。
いいのかよこれ

591:nobodyさん
11/12/18 16:48:47.35
import したモジュールを呼び出すと
UnboundLocalError: local variable 'model' referenced before assignment
と言われるようになる。

コピペしているうちに動いたのだけどソースコードの長さを一定以下にすると動くことがわかった
そういう制約についてなにか知ってますか?

あとsimpleJsomでループに落ちたあげく
RuntimeError: maximum recursion depth exceeded
というエラーが出ています。
URLリンク(sunabako.sblo.jp)
ここを参考にGqlEncoderを作成したんですが、上記で問題がおきるモデルだけエラーになります。

それ以前にしたことと言えば上記で問題が起きるモデルの定義を若干いじっただけ
コンパイルに問題があるかと思って削除してみましたが変わらず
モデルをいじる前にSDK1.6.1にバージョンアップしたかも知れません。

原因がつかめず困ってます。なんでもいいのでヒントをお願いします。

592:nobodyさん
11/12/18 16:49:16.85
あ、pythonは2.5で動かしてます

593:nobodyさん
11/12/18 16:55:23.64
>>591
まずはエラーメッセージを読んでエラーの内容を理解することから始めましょう

594:nobodyさん
11/12/18 17:02:43.69
>>593
local variable 'model' referenced before assignment
については関係ないif文を削除するとエラーが出なくなります。
関数一つあたりの行数制限はありますか?

maximum recursion depth exceeded
についてはループにハマってるようなのですがモデルを変更すると正常に動きます。

なにかヒントをお願いします。

595:nobodyさん
11/12/18 17:07:35.12
>>594
local variable 'model' referenced before assignment
maximum recursion depth exceeded
これを読むと分かります

596:nobodyさん
11/12/18 17:52:52.74
>>595
local variable 'model' referenced before assignment
このmodelは
from models.model import model
という記述下にあり、case文の代わりに記述してある
長いif文を半分にすると出なくなります。
ですが理由がわかりません。ご存知でしたら教えてください。

maximum recursion depth exceeded
これも上記のmodelがエラーを吐かなくなったときにmodelの操作中だけ出ます。
試しに別に定義したmodelで動かしてみると正常に動きます。
modelの複雑さやデータの量はむしろ後者のほうが多いです。
再帰呼び出しが深くなりすぎる理由がわかりません。

597:nobodyさん
11/12/18 18:08:48.61
maximum recursion depth exceeded
につきましてはまったく同じ構造で名前が違うmodelを定義して食わせたところ正常に動作しているようです。
どうやらローカルのデータが壊れている模様です。
なぜローカルのデータが壊れているとmaximum recursion depth exceededが出るのかご存知でしたら教えてください。

local variable 'model' referenced before assignment
につきましては未だに原因がわかりません。
約1000行ほどのソースだとimportしたことを忘れてしまうようです。
ご存知のかたありましたらお願いします。

598:nobodyさん
11/12/18 18:16:17.10
URLリンク(translate.google.co.jp)

599:nobodyさん
11/12/18 18:19:10.86
tracebackにどこの行で例外が発生したか書いてあるだろ

600:nobodyさん
11/12/18 18:21:22.45
URLリンク(translate.google.co.jp)

601:nobodyさん
11/12/18 18:28:01.69
意味は理解しているつもりですが・・・

from models import model

  if ...

  elif com=="model":
    gql = model.all()
    gql.filter("name","test")

  elif com==...

  elif com==...

  elif com==...


こういう記述の結果1000行を超えたあたりで
local variable 'model' referenced before assignment
がでます。

これは本番環境でも出てしまいます。
後半のelifを消していくと再び動き出します。

理由をご存知のかた、よろしくお願いします。

602:nobodyさん
11/12/18 18:34:50.83
pass

603:nobodyさん
11/12/18 18:35:27.76
>>601
じゃあ、どういう意味か書いてみなよ

604:nobodyさん
11/12/18 18:37:00.25
tracebackを全部貼れ

605:nobodyさん
11/12/18 18:37:40.25
>>603
変数modelが代入される前に参照されている、という意味では?

606:nobodyさん
11/12/18 18:39:07.57
>>605
それでどこの行で例外が発生しているの?

607:nobodyさん
11/12/18 18:39:11.52
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\webapp\_webapp25.py", line 701, in __call__
handler.get(*groups)
File "C:\Users\casper\PythonWorkspace\amanedb\src\application\json.py", line 55, in get
self.post()
File "C:\Users\casper\PythonWorkspace\amanedb\src\application\json.py", line 329, in post
gql = member.all()
UnboundLocalError: local variable 'member' referenced before assignment

以上です

608:nobodyさん
11/12/18 18:42:32.12
特別に教えてやろう
C:\Users\casper\PythonWorkspace\amanedb\src\application\json.pyの329行目だ
あと、modelじゃなくてmemberなのか?w

609:nobodyさん
11/12/18 18:48:14.24
>>608
特別に教えていただき光栄です。
modelは抽象的な名前で本番ではmemberです。

modelを変更したあとに変更前に保存してたデータにアクセスしようとするといろいろなエラーが出るのですか?

610:nobodyさん
11/12/18 18:51:12.45
日本語でおk

611:nobodyさん
11/12/18 19:02:41.10
>>609
どこかでmenberに代入しているかも
URLリンク(ideone.com)

612:nobodyさん
11/12/18 20:55:35.32
>>611
ありがとうございます
みつかりました
まったく関係ないところのforの中にありました

613:nobodyさん
11/12/18 21:19:30.94
maximum recursion depth exceeded
についても解決しました
SelfReferencePropertyに自分自身を設定したデータがあり
エンコーダが延々とループに陥っていたのでした。
こんな設定ができないようにコードを修正します。

データが自己参照していない別定義のmodelを設定したらエラーが止まるのもその理由でした。
お騒がせいたしました。

614:nobodyさん
11/12/18 22:25:45.46
馬鹿には無理

615:nobodyさん
11/12/20 12:05:26.17
お、なんかNGがいる

616:nobodyさん
12/01/01 15:08:14.15
webapp2のsessionsモジュールでDatastoreSessionFactoryクラスを使おうとしたんですが、
セッションオブジェクト(辞書)がndbモジュールの型チェックで「文字列じゃないよ!」
って例外に引っかかるんですが、そもそもこのクラスって使っちゃいけないんでしょうか??

617:nobodyさん
12/01/01 22:16:30.51
>>616は一回忘れてください

618:nobodyさん
12/01/02 03:36:49.91
リダイレクトじゃなくて別ウィンドウを開かせる方法を教えてください

619:nobodyさん
12/01/02 04:42:18.28
return '<a href="hoge" target="_blank">fuga</a>'

620:nobodyさん
12/01/02 09:58:20.31
どうやら無理っぽいですね
POST を受け取ってから別窓を開きたいんですが

621:nobodyさん
12/01/02 09:58:52.86
あ ごめんなさい
return '<a href="hoge" target="_blank">fuga</a>'
試してみます

622:nobodyさん
12/01/02 10:09:25.92
できませんでした

623:nobodyさん
12/01/02 11:02:09.57
うちはできてる

624:nobodyさん
12/01/02 14:14:00.40
えええ

625:nobodyさん
12/01/02 14:30:55.11
9$アプリをHRDに移行したいんだけど、移行先も課金設定にしなきゃいけないよね
移行した後、元を消しても9$二重取りされちゃうよね。
っていうので移行に二の足踏んでるんだが…


626:nobodyさん
12/01/02 14:50:31.86
なんで元を消したのに二重課金されるんだ?

627:nobodyさん
12/01/02 15:01:39.69
>>626
app_id duplicateしてから手動で課金設定にしなきゃいけないんだが、
その時点で9$発生しちゃうんじゃ?




628:nobodyさん
12/01/02 19:31:13.36
課金止めればいいじゃない

629:nobodyさん
12/01/02 19:36:15.45
DSが5Gあるから無料状態だと移行完了できないんだ

630:nobodyさん
12/01/02 19:40:22.37
そんなに利用しているのなら
$9程度払っちまえ

631:nobodyさん
12/01/05 11:15:10.54
今一盛り上がらないね

632:nobodyさん
12/01/05 11:50:03.42
勝手に股間でも盛り上げてろ

633:nobodyさん
12/01/09 18:03:13.36
appcfg.pyでサーバーへメールアドレスとパスを指定してデプロイする時に、
今まではパスは一度入力すれば、後はEnterで自動入力されましたが、
いつの間にか必ずパスも入力しないといけなくなりました。
これは仕様が変わったのでしょうか?とても面倒なのですが。。

これはデプロイするときのコマンドです。
appcfg.py --email=foo@example.com update testapp

634:nobodyさん
12/01/10 15:58:40.15
スレッドIDは-1で固定でしょうか?

import thread
thread.get_ident()

635:nobodyさん
12/01/10 16:58:32.40
Master/Slaveなんだけどなんかつっかえるね・・・
HRDの方が早いならそっちにしようかな
HRDの方が遅いっていうからMaster/Slave使ってるんだけどな

636:nobodyさん
12/01/10 17:10:06.02
HRDが遅いと思ったことないな

637:nobodyさん
12/01/10 17:57:59.41
サンクス 引越しを検討します

引越ししましたか?
最初から構築?

引越しツールで注意点あったら教えて下さい

638:nobodyさん
12/01/10 18:16:14.54
>>633
クッキー保存されないよ、たぶんバグだと思われ

639:nobodyさん
12/01/10 18:35:03.77
SDKバグりまくり

640:nobodyさん
12/01/11 16:55:00.21
サンプルのvoterlatorのタスクキューってなんか使い方おかしい気がするんですが。。

641:nobodyさん
12/01/12 17:09:51.83
今からこのスレ乗っ取るわ


642:nobodyさん
12/01/12 21:33:43.16
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

643:nobodyさん
12/01/12 23:10:47.16
ぬるぽ

644:nobodyさん
12/01/21 14:53:39.60
BackendsでB4をデプロイしてみたら、いきなり1hour分持ってかれて驚愕したわ

645:nobodyさん
12/01/25 00:42:08.04
独自ドメインのHTTPSってまだ対応してないですよね?

646:nobodyさん
12/01/25 12:51:04.38
>>645
これってなんで対応してくれないの?
個別に証明書をサーバに登録すればいいだけの話ではないのかな。

647:nobodyさん
12/01/25 13:14:48.03
IPアドレスを1個必要とするから、必要な人は声かけてくれって例の人が言ってたような記憶がある

648:nobodyさん
12/01/26 08:29:13.47
IPの消費もさることながら、証明書の認証局によってはサーバー単位にライセンスが必要だったりするから、自動でスケールアウトするAppEngineでは契約的に無理だったりする。
その辺は使える認証局を限定するとかで回避するにしても色々めんどうな話が多そうだ。
技術的にはそこまで難しくないとは思うけど。

649:nobodyさん
12/01/26 16:43:56.19
参照を失ったReferencePropertyをチェックするには
try: except: するしかないんでしょうか?

データストアにアクセスせずkeyを取得する方法とか組み合わせてできないかと思って

URLリンク(blog.livedoor.jp)

これ参考にコード書いてみましたがbbs_keyのところでno attribute エラーがでました
なにかよい知恵があったら教えてください
参照先が消えてるかもしれないところをすべて try: except: してたらReferencePropertyの
利便性なんて消し飛ぶほどめんどくさいんですが

650:nobodyさん
12/01/26 17:06:31.58
>>649
bbs_key.get_value_for_datastoreじゃなくて
bbs.get_value_for_datastoreじゃねえの?

651:nobodyさん
12/01/26 17:17:33.47
>>650
ありがとうございます。
さっそく試してみます。

652:nobodyさん
12/01/28 18:40:41.58
datastore内データのアップロード、ダウンロードで
bulkloader.yamlファイルの指定する方法と
自分でローダークラスを作成する方法の
二種類があるっぽいんですが、この2つは何が違うんでしょうか??
bulkloader.yamlは簡単にうpできた、ローダークラスは自分でカスタムしてうpできるみたいな感じでしょうか?

653:nobodyさん
12/01/31 11:28:53.50
そうね。CSV以外のデータを読み込んだり
アップロード時にkey_name指定したりできる。
mysqlに接続して取得しながらアップできるかもしれない

654:nobodyさん
12/02/01 15:12:07.44
>>653
bulkloader.pyのソース見ながら試してみましたが
key_nameを指定したエンティティやreferenceプロパティの設定とかできるんですね。
ありがとうございます。

655:nobodyさん
12/02/10 02:05:56.05
GAEでPlone動かしてみたい

656:nobodyさん
12/02/10 04:09:09.74
馬鹿には無理

657:nobodyさん
12/02/10 13:14:44.63
ひどいっ

658:nobodyさん
12/02/10 18:01:55.50
GAEもっと盛り上がっていいはずなのになんでこんな過疎ってんの?


659:nobodyさん
12/02/10 18:10:39.84
過疎っているというか話すことが無い
APIは簡単に使えるし、不具合があればグループで聞く方が速い

660:nobodyさん
12/02/10 18:46:27.19
これ以上設定が面倒になるとサーバー管理してるのとかわらなくなるよね

それだけが不安

661:nobodyさん
12/02/11 11:28:01.61
GAE高いし

662:nobodyさん
12/02/11 15:13:37.45
コスト計算できない人にとっては
高いんだろうなあw

663:nobodyさん
12/02/11 15:16:46.09
EC2の方が自由度も高くて全般的に安い

664:nobodyさん
12/02/12 12:33:05.19
でもEC2ってサーバー側の環境自分で構築しないといけないんでしょ?
スマホに例えると
GAE → iPhone
EC2 → Andoroid
みたいな

665:nobodyさん
12/02/12 12:49:32.77
はぁ?

666:nobodyさん
12/02/12 13:02:53.73
ゲームに例えると
PS3=GAE
XBOX=EC2
だな!

667:nobodyさん
12/02/12 21:55:30.51
課金有効にした時のMail APIの仕様意味わかんないんですが、、、英語的な意味で、、、
これどういう意味ですか?

100 recipients until first charge cleared; 2000 recipients free and no maximum thereafter

URLリンク(code.google.com)

668:nobodyさん
12/02/14 09:15:49.97
はじめの100件が変わるまで、2000件の送信が無料。それ以降は上限なし。
かな?よくわからん。俺も知りたくなってきた

669:nobodyさん
12/02/14 11:57:36.99
>>668
changeちゃう chargeや

670:nobodyさん
12/02/14 13:06:18.71
課金の画面には書いてる
Recipients Emailed $0.01/ 100 Recipients
100通で1セント 1万通で1$(80円くらい)

たしか無課金が100通まで無料
課金が2000通まで無料(1週間で2.1$課金)
それ以上が100通で1セントじゃね?

671:nobodyさん
12/02/14 14:15:39.24
>>670
わたしの理解もそう

672:nobodyさん
12/02/14 14:31:47.21
まとめ
1.無課金は100通まで(それ以上は課金)
2.課金(週$2.1)は2000通まで無料、それ以上は100通0.01$

673:nobodyさん
12/02/14 15:13:23.57
>>669
あwチャージかwwサンクスww

674:nobodyさん
12/02/17 09:33:14.60
>>667
>until first charge cleared
ってどういう意味なんだろ。最初の課金がクリアされるまで?なんのこっちゃ?

675:nobodyさん
12/02/17 11:14:07.95
最初の課金が明らかになるまで?

676:nobodyさん
12/02/17 11:25:37.69
いちいち直訳すんなよかったるい

課金分使いきるまで

でいいだろ

677:nobodyさん
12/02/18 20:58:40.11
>>674
こういうのって中学レベルの英語なのかなあ。
clearedという過去分詞が文法的にどう作用するのかさっぱりわからん。

678:nobodyさん
12/02/18 21:11:07.86
こんなだから日本のプログラマーどもは10年遅れとか言われちゃうんだな。

お前ら一番最初に習得すべき言語を間違ってないか?

679:nobodyさん
12/02/18 21:41:39.03
そういうなら教えてくれよ

680:nobodyさん
12/02/18 22:03:55.91
単なる前置詞+SVでは?

681:nobodyさん
12/02/19 00:00:17.18
英語の能力とプログラミングの能力は関係ないと思うぞ

真面目に英語で書いたって保守性が上がるわけじゃない

682:nobodyさん
12/02/19 00:16:36.10
関係あると思うぞ

683:nobodyさん
12/02/19 12:36:35.68
>>680
それなら until first charge is cleared ではないの?
#中学英語すらままならぬ。

684:nobodyさん
12/02/20 12:41:52.54
過去分詞じゃないから is いらない

685:nobodyさん
12/02/21 21:36:18.29
>>667
暇だから訳してみよう。

[Free Default Limit]
100 recipients

[Billing Enabled Default Limit]
100 recipients until first charge cleared;
100 recipients free and no maximum thereafter

686:685
12/02/21 21:41:07.65
以下はその訳。

[無料の規定における制限]
(送信対象)100メールアドレス

[課金が有効になる規定における制限]
100メールアドレスまでの場合、課金はクリアされる;
100メールアドレス無料。その後は無制限。

要するに日毎にカウントされて100メールまでなら無料。
それを超えると課金されるが定額、ってところか。

687:nobodyさん
12/02/29 17:22:52.26
英語教室は、はてなでやれ

688:nobodyさん
12/03/01 09:45:52.51
10日も前のレスに・・・・

少なくとも>>687よりは有益だし

689:nobodyさん
12/03/01 14:08:52.32
今日のGAEのメンテナンスが結局延期なんだってさ…
そもそもメンテナンス自体知らない人多いとおもうけど、次の告知来たら貼っておくよ

690:nobodyさん
12/03/01 14:33:53.05
メンテってサービス止めちゃうわけ?
そういうわけじゃないでしょ?

691:nobodyさん
12/03/01 16:51:49.86
DSがReadOnlyになる

692:nobodyさん
12/03/01 17:19:55.07
そりゃサービス止めるよ。
dbがread onlyになったら実装上動かせないってのは多いとおもう。

693:nobodyさん
12/03/01 17:22:36.30
うへ知らんかった・・・

ぜひ情報教えてくだすれ

694:nobodyさん
12/03/03 04:48:14.08
メンテナンスによる停止はサービス停止時間に含まれません(キリッ)

695:nobodyさん
12/03/09 00:54:29.29
メンテ後からデータストアがクッソ重くて5秒10秒当たり前なんだけど何かあった?
そんなことないならそんなことないって言ってくださいお願いします
割とピンチ

696:nobodyさん
12/03/09 01:35:29.86
M/Sを窓から投げ捨てろ

697:nobodyさん
12/03/09 02:26:17.42
HRDじゃないともうダメなの?
HRDならどっかにダイジョブなデータストアがあるからダイジョブダイジョブってこと?
HRDって別アカにしないといけないんでは…?

698:nobodyさん
12/03/09 09:41:16.96
M/Sの方が早いって言うからがんばって使ってるのによー

699:nobodyさん
12/03/10 19:58:55.63
自分はM/Sが重くなった感じはしないんだけど、ほかの人はどうかな?
あと別件で、Instanceの立ち上げで凄く時間がかかって、60秒ルールでDEEが起きて死ぬことがある。
こうなるとしばらくサイトが500エラー表示になるので勘弁してほしい。

700:nobodyさん
12/03/10 20:16:52.01
Javaじゃあるまいしバグってるとしか思えん

701:nobodyさん
12/03/15 21:55:35.50
Exceeded soft private memory limit with 133.348 MB after servicing 6 requests total

こんなエラーが出るんだけど設定でどうにかなる?

702:nobodyさん
12/03/15 22:00:34.07
Applicaiton Settingsでメモリ増やせる

703:nobodyさん
12/03/15 22:03:56.04
一つランクを上げるごとにInstance hoursが倍掛かるようになるから注意

704:nobodyさん
12/03/15 23:25:53.38
了解 感謝する

705:nobodyさん
12/03/15 23:32:04.50
なんかDatastore Stored Dataの容量がリフレッシュされなくなった…
GAEマジ意味わかんねぇな
もうやめるつもり

706:nobodyさん
12/03/16 01:50:49.71
チラッ

707:nobodyさん
12/03/23 22:28:14.49
今夜デプロイ遅すぎ
Checking if deployment succeeded.
Will check again in 60 seconds.
なんてはじめて見たしこれが画面いっぱいになっとる

708:nobodyさん
12/03/29 13:07:20.25
Over Quota

This application is temporarily over its serving quota. Please try again later.

709:nobodyさん
12/03/29 17:25:38.84
ちゃんと設定したら0になった よかった

710:nobodyさん
12/04/01 12:08:16.13
URLリンク(groups.google.com)
>SELECT __key__ FROM Hoge WHERE ...." というクエリで 2500 件ぐらいの key を 取り出したりしていました

これを参考にkeyだけを取り出すコードを書いてましたが1000件以上のデータが取り出せません。
取り出したあとはまるまるmemcacheに放り込んでます。
cacheddata=listcount":listcount,"done":0,"list":list,"sddb":sddb,"chanksize":chanksize,"corp_name":cls.corp_name,"msgkey":msgkey,"tasks":0}
memcache.set(id,cacheddata ,3600)

ひょっとしてガセでしたか?

711:nobodyさん
12/04/01 12:17:12.15
cacheddata={
括弧が消えてました すみません

712:nobodyさん
12/04/01 12:22:33.37
日付を見ろ
あと、ソースを出せ

713:nobodyさん
12/04/01 12:30:38.71
お手数かけます

def getdata(sqlstr)
list = db.GqlQuery("SELECT __key__ FROM data " + sqlstr )
return list

def setdata();
list = getdata(" WHERE e1 = 'e1' AND ....... ")
listcount = list.count()
cacheddata={listcount":listcount,"done":0,"list":list,"sddb":sddb,"chanksize":chanksize,"corp_name":cls.corp_name,"msgkey":msgkey,"tasks":0}
memcache.set(id,cacheddata ,3600)

こんな感じです。よろしくおねがいします。

714:nobodyさん
12/04/01 12:36:23.97
WHERE句の中では>も使ってます。

715:nobodyさん
12/04/01 12:58:30.76
2000件ぐらいあるデータでWHERE指定でcountは問題なく取れた
countが取れてないの?データが取れないのかどっちだ?

716:nobodyさん
12/04/01 13:24:47.44
countも1000で止まりますし、keyも1000までしか取れません。
countは規制なくなったって書いてあったし、keyだけなら1000件以上取れると思ってました。

717:nobodyさん
12/04/01 13:26:18.83
ちなみにHRDには移行してません

718:nobodyさん
12/04/01 13:35:19.61
count(10000)とかでもだめ?
こちらの環境はPython 2.7+HRD+ndbです

719:nobodyさん
12/04/01 14:05:43.34
できました!
countに引数与えないと1000になるんですね。
なにげにその後その数字を当てにしてgetしてたのでkeyも1000しかないように見えてました。
無事にすべて取り出すことができました。

ありがとうございました。

720:nobodyさん
12/04/05 09:58:08.40
M/S廃止か
Google App Engine Blog: Master/Slave Datastore, thanks for all your hard work
URLリンク(googleappengine.blogspot.jp)

721:nobodyさん
12/04/05 10:06:07.82
なに?!

722:nobodyさん
12/04/06 09:31:08.45
そのうちやんなきゃと思ってたけど
blobストアのデータが自動で移転できないから躊躇してた
ツールはあるらしいけど

半年くらい猶予あるのかな?

723:nobodyさん
12/04/06 17:13:44.16
よくこんなの使っていられるな、おまえらw

724:nobodyさん
12/04/06 17:24:12.99
最近アメロードだかなんだかのサービスを作った人が
調子に乗ってgoogle各種サービスをディスったら、
各方面からボコられて
「google信者様の言うとおりです」と発狂したふりをして幕を閉じるという
なんとも無残な散りざまを見せていたな

725:nobodyさん
12/04/07 12:59:39.04 BeoWQwVe
スクリプト の import と テンプレートの extends とがそれぞれよくわかっておらず、ファイルの置き場所がごちゃごちゃになってしまいます。整理するにはどうすればよいでしょうか。

問題点
● テンプレートの多重継承がうまくできない
operation1.html で {% extends "../master.html" %}
master.html で {% extends "../base.html" %}
とすると base.html が見つからなくなります。どうやら孫にあたる operation1.html からの相対パス ../base.html を探しているようです。
・ テンプレート内の記述を変えずに問題を解決する方法があれば教えてください。
・ django は 最初のバージョンのみでよいので、右記ページのような問題はありません。 URLリンク(stackoverflow.com)

● import の書き方がわからない
大雑把にいって handler の中身が Controller, libs の中身が Model にあたります。
main.py で handlers1.py を、handler1.py で user_auth.py を、それぞれ import したいです。
・ import 文の書き方を教えてください。__init__.py が必要になるのであれば、内容も教えてください。

次のレスが希望するファイル構成の内容です。著しく不適切であれば指摘してください。


726:725
12/04/07 13:00:07.32
ファイル構成:
- app.yaml
- main.py
- handlers
- - handler1.py
- - handler2.py
- libs
- - user_auth.py
- - main_datastore.py
- template
- - base.html
- - master
- - - master.html
- - - operation1
- - - - operation1.html
...


727:nobodyさん
12/04/07 13:06:30.36
AppEngine固有の問題ではないので他のスレで聞いた方がいいよ

728:725
12/04/07 13:14:25.12
問題点の追加です。
● template.render に渡すパスの取得方法がわからない
多くのサンプルに
self.response.out.write(
 template.render(
  os.path.join(
   os.path.dirname(__file__), 'hoge.html'
  ), result
 )
)
のようなコードがありますが、__file__ は handlers/handler1.py や handlers/handler1/handler1.py を指しており、
hoge.html は template/master/operation/hoge.html などにあります。
このような離れた場所のファイルは、その都度 os.path.join にドットを渡してやることによってしか取得できないのでしょうか。
アプリケーションのメインからの相対パスで指定する方法がありましたら教えてください。

729:725
12/04/07 13:47:31.08
>>727
すみませんが他でしたらどのスレッドが適切かわかりません。

730:nobodyさん
12/04/07 15:06:12.58
URLリンク(lmgtfy.com)

731:nobodyさん
12/04/07 15:15:43.48
>>728
アプリのrootにhoge.pyでも作って
import os
APPLICATION_BASE_DIR = os.path.dirname(__file__)

で使いたいところで
from hoge import APPLICATION_BASE_DIR
os.path.join(APPLICATION_BASE_DIR, 'template/master/operation/hoge.html')
とでもすれば?関数にするとか好きにしてね

732:725
12/04/07 16:32:47.80
>>730
こちらで訊きます: スレリンク(php板)

>>731
ありがとうございます。この部分は解決したと思います (他の部分がまだなのでテストしていません)。


733:nobodyさん
12/04/15 14:43:22.57
タスクキュー設定して毎時でcronから起動してるんですが
毎時ぴったりに2つのタスクが登録されるせいでインスタンスが増えてしまいます


設定でどうにかできませんでしょうか?

queue.yaml
queue:
- name: default
rate: 1/s

734:nobodyさん
12/04/15 16:29:35.85
片方のタスクの開始時間をずらせばいいだろ
App Engine の cronフォーマットのまとめ - やさしいデスマーチ
URLリンク(d.hatena.ne.jp)

735:nobodyさん
12/04/15 16:31:43.95
あとは、max_concurrent_requestsを使ってタスクの同時実行数を制限するか
詳しくはググれ

736:nobodyさん
12/04/15 18:50:52.09
おお ありがとう ありがとう

737:nobodyさん
12/04/18 09:16:11.39
pydevでプロジェクトをコピーしたり移動したりしているうちにsrc右クリックからpeydev(google app run)が消えました
デバッグの構成から起動はできましたが、直し方をご存知のかたよかったら教えてください。
プロジェクトをコピーしたり、プロジェクトがバグったとき
パッケージエクスプローラーから一度削除してもう一度空の新規プロジェクトを同一のディレクトリで作成すると
うまく行ってたと思うのですが間違ってますか?

738:nobodyさん
12/04/18 20:00:22.44 hrAUVqet
>>737
.pydevprojectの中身確認してみると良いです。

<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/project</path>

上のソースパス合ってないとか?

新しくGAEプロジェクト作って照らしあわせてみるとわかるかも

739:nobodyさん
12/04/19 09:12:09.14
.pydevprojectのライブラリのパスを絶対パスにしたらうまくいきました!


740:nobodyさん
12/04/20 01:09:11.05
Memcacheがどんどん消えちゃうんですが、つっこみすぎ?

Memcache Viewer
Statistics
Hit count: 10724
Miss count: 907
Hit ratio: 92%
Item count: 468 item(s)
Total cache size: 1607620 byte(s)
Oldest item age: 6 min(s) 6 second(s)



741:nobodyさん
12/04/20 19:32:23.28 IHyQVpyC
eclipseのPyDevはまだwebapp2のアプリに未対応でしょうか?
app.yamlの一部を書き換えれば一応動作してるようですが、
自動的に生成されるコードなどは以前のwebappのものです。
どこかで切り替える必要があるのかなあ?

742:nobodyさん
12/04/21 04:11:46.80
>>741
app.yamlでpython2.7設定するとgoogle.appengine.ext.webappの中でwebapp2使ようになる
threadsafeしないならhello webapp worldのままで対応できてる


743:nobodyさん
12/04/21 12:16:08.96 902Nv7Ux
巨大なデータに順次処理をかける場合、
巨大なデータをまるごとメモリにおくとメモリ上限に引っかかるから
少し読みだして処理してセーブしてメモリから破棄、
ということの繰り返しでやろうと思ってるんだけど
不要になったメモリはちゃんと開放されるんだろうか?

744:nobodyさん
12/04/21 12:30:07.50
コンソールのInstancesでみればいいんじゃねぇの?

745:nobodyさん
12/04/21 17:53:59.35
>>743
python的には参照がなくなれば即時GCされるはずだけど

746:741
12/04/22 01:01:25.19
>>742
ありがとうございます。そういうことでしたか。
だんだん変更されていくでしょうし、様子見ながら使っていこうと思います。

747:nobodyさん
12/04/22 17:50:29.80 aA4PJf7d
GoogleはGAEにアップロードされたプログラムまたはソースコードを
解析したり参考にしたりする権利はあるの?

748:nobodyさん
12/04/23 22:52:28.36
deferredってpython2.7+threadsafeじゃ動かないんですか?


749:nobodyさん
12/04/23 23:07:58.61
動くらしいけど
Python 2.7, threadsafe: true, and deferred.defer - Google Groups
URLリンク(groups.google.com)

750:nobodyさん
12/04/24 04:18:37.99
1.5.5でfixされたみたいですね。ありがとうございます。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch