雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
相変わらずGoogle App Engineのアプリを作成しています。
何とか来月一日までには本番環境にアップしていたいと考えていたのですが、遅々として進みません。正直アプリ作成をなめすぎていたと痛感しております。
今までやってきた仕事は全部「設計書があったり、すでに既存の動いているものがあるところを改修」でした。今はすべて自分がやらなくてはなりません。ゼロからものを作るのがこれほど大変だとは・・・
さらにだんだんと管理対象が増えてきて、脳みその容量が追いつかなくなってきました。どこから手をつければいいのか・・・いままでの自分の仕事が以下に甘かったかと痛感させられます。
世間の厳しさをようやく知ったところに、ひどい追い打ちが。
今日気づいたのですが、Google App Engineはトランザクション処理が弱いんです。
私の中でのトランザクション処理の常識(Java)は、
ふたを開けてみると、まぁまぁ出るわ出るわ、致命的な制限の雨・嵐。
上記の制約をまともに受けると、こんなソース(Python)になってしまいます。
うーん、困りました。こんなところにApp Engineの弱点があるなんて。
とりあえずはトランザクションのことを考えないで先に進めることにします。
難しい問題だからじっくり考える必要がありそうですね・・・
おまけ
ローカルで上記の制約を確かめようとテストしてみたのですが・・・
あれ?ちゃんと登録できちゃうんですけど。
本番環境じゃないと再現できないんでしょうか・・・
何とか来月一日までには本番環境にアップしていたいと考えていたのですが、遅々として進みません。正直アプリ作成をなめすぎていたと痛感しております。
今までやってきた仕事は全部「設計書があったり、すでに既存の動いているものがあるところを改修」でした。今はすべて自分がやらなくてはなりません。ゼロからものを作るのがこれほど大変だとは・・・
さらにだんだんと管理対象が増えてきて、脳みその容量が追いつかなくなってきました。どこから手をつければいいのか・・・いままでの自分の仕事が以下に甘かったかと痛感させられます。
世間の厳しさをようやく知ったところに、ひどい追い打ちが。
今日気づいたのですが、Google App Engineはトランザクション処理が弱いんです。
私の中でのトランザクション処理の常識(Java)は、
try{こんなソースだったので、トランザクション処理なんて楽勝だろうと高をくくっていたのですが、
int num = pstmt.executeUpdate();
pstmt.commit();
} catch(SQLException e) {
pstmt.rollback();
} finally {
pstmt.close();
connection.close();
}
ふたを開けてみると、まぁまぁ出るわ出るわ、致命的な制限の雨・嵐。
- トランザクション内部でQueryは実行不可能、Keyを利用したgetのみ可能
- put()ならびにdelete()は1モデルインスタンスにつき1回のみ
- トランザクション処理中のモデルは、すべて一つのエンティティグループに属していなければならない。
- 現状、parentのいない親エンティティとそれを親にする子エンティティを同一のトランザクションで生成できない
上記の制約をまともに受けると、こんなソース(Python)になってしまいます。
try:これでは一貫性のあるトランザクションとは言えません。
old_model1 = copy_model(model1)
model1 = edit_model1(model1, hogehoge)
result1 = db.run_in_transaction(update1, model1)
result2 = db.run_in_transaction(update2, model2)
except:
if result1:
#元の状態に戻す、ここで例外起きたら知らん(もう1つtry節が必要)
db.run_in_transaction(update1, old_model1)
うーん、困りました。こんなところにApp Engineの弱点があるなんて。
とりあえずはトランザクションのことを考えないで先に進めることにします。
難しい問題だからじっくり考える必要がありそうですね・・・
おまけ
ローカルで上記の制約を確かめようとテストしてみたのですが・・・
あれ?ちゃんと登録できちゃうんですけど。
本番環境じゃないと再現できないんでしょうか・・・
PR
この記事にコメントする
カレンダー
10 | 2024/11 | 12 |
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
ブログ内検索
最新記事
(10/12)
(10/09)
(10/09)
(10/08)
(10/05)
カテゴリー
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
推奨環境
横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。