月別: 2010年11月

Home / 月別: 2010年11月

うーむ

2010-11-27 | Apache, Database, Pylons | コメントはまだありません

リロードするとすぐpylonsのエラー画面に逝っちゃう。
処理さばききれてないような(-_-;?
こりゃなんだとおもって、しばしの間F5おしっぱ→んでtopを見てみると

top - 21:41:43 up 23 days, 21:36,  6 users,  load average: 75.41, 70.90, 57.37
Tasks: 216 total,   2 running, 214 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.0%us,  2.0%sy,  0.0%ni,  0.0%id, 96.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1008488k total,   995396k used,    13092k free,     1352k buffers
Swap:  3068924k total,   965320k used,  2103604k free,    19380k cached

ろーどあべれーじ70ってアンタ……。
MySQLつなぎに行くとこが重たいとこうなるみたい。DB舐めにいかないページではあんまこういうことがおこらないぽ。
まいったなーDBのコネクション数とかなんか見ないとダメだなー。
まあ見たくってもいま何もできないくらい重い状態が30分くらい続いてるんですが。

自己参照

2010-11-26 | Pylons, Python, SQLAlchemy | コメントはまだありません

自己参照のrelation @ sqlalchemy 0.5(sklave)
これか?既に試したきはする。。。
問題は、こーやって参照しに行く先が、あたしの場合は3個もあって、常に3個なわけではないということだなー

けど、愚直に見っけたもんをいちいちやるしかないのだ。あたしは変なトコをすっとばして悩む癖あるからな。
エンジンが書き出してくれてるところを気づかずに勝手に一行消して「うごかねえぇぇ」とか言ってた品。

進捗

2010-11-26 | NDI, Pylons, Python, SQLAlchemy | コメントはまだありません

一度動いていたはずのアプリを修理・改修しながら再構築するっていうのは、なんかポンコツのレストア作業をやっているような感覚になりますね。
なおってもポンコツになる予感しかしないのだけれど、ホビーだから!ホビー!

キレイにマッピングできなくてもやもやするというのを1週間近く続けております。
パーツの表現で、親子関係になるんだけど自己参照って言うの?部品の材料をぶら下げる的な構造がきれいに決まらない。なんだーなんでだー
図解つきで英文書いてstackoverflowに投稿しよう。
いわゆる親子関係なんだけど、

部品テーブル
-id
-name
-材料1_id
-材料2_id
-材料3_id

この材料1~3_idには同じく部品テーブルがぶら下がる。
んでこれをsqlalchemyにやらせたいわけなんだけど、
「どのテーブルのこといってるかわっかりませーんプップー」
join(outerjoin)構文では値引っ張れるんだけど、なんかDBの構造を引きずってテンプレまでヨタヨタ歩いてくるのがとても醜い。
というのを英文にする。宿題。

いまはこんな書き方。

Mat1 = aliased(Part)
Mat2 = aliased(Part)
Mat3 = aliased(Part)

Session.query(Part,Mat1,Mat2,Mat3).filter(and_(ShipPart.genre_id==2)).\
                       outerjoin( (Mat1, ShipPart.mat1id==Mat1.id)....

用は満たしてるんだけども、それぞれタプルに分かれてくるし、
Part.Mat1.idとか
Part.Mat1.nameとか、わかるかな!そういう引っ張りかたしたいわけ!

wsgi経由だといろいろ勝手が変わる

2010-11-21 | Pylons, Python | コメントはまだありません

StackOverFlowになんか書くと、すぐspamくるようになるなー

タイトルで言いたいことはすべていってるんだけど、PylonsのチュートリアルとかだとPasteサーバ?だかで起動とかなってて、あほかそんなんapacheやlighttpdの例出さんでどうするんじゃー現実的じゃないだろー
それともあれか、python触るからには既存環境との折り合いとかそんなんは一回忘れろってことですか(-_-;

PinMarchというblogを発見。

そうそう。うれしい。
というメモ。

logging in pylons

2010-11-21 | Pylons, Python | コメントはまだありません

ロギングってのがあたしには極めてややこしい。ハンドラってものをちゃんと理解していないせいだ、とおもう。
なんだよハンドラって。説明聞くと分かった気になるけどイメージはつかめてない。
logging モジュール←ドメインみて「ん?」 東大だって。

log.addHandler( logging.StreamHandler(sys.stdout))

この記述が大事っぽいことは分かった。ログ出るようになったし。
でもこんなん、毎回毎回ハンドラ指定するためにimport logging, sysってやんのー?めんどくさくないー?

追記:
controllers/__init__.py

# -*- coding: utf-8 -*-
import logging, sys
log = logging.getLogger(__name__)
log.addHandler( logging.StreamHandler(sys.stdout))

こうして、
アクションというかコントローラの中で

前略
log.error("aaaaaaa")
後略
[Sun Nov 21 12:05:57 2010] [error] aaaaaaa

でたな。