|  | 
| Web の利用技術
RSS, Trackback や P2P などなど知らないことばかり;;
 
 
	
		72
		
			 ueno
			 2003/06/27 09:17
							
					id: 0mTMBoY96dk
				
						
				 prob: 0.1%
			
		
	
			
		
		
					>>71 まだうまくない場合がありそうです。
見直しなら、少しだけお願いが、、、
 日本語変換に関して作ってあったので失礼と思って言わなかったのですが、
 田原さんの公開されてるトラックバック内に以下のような物があります。
 −−−−−
 def toeuc(txt):
 c = pykf.guess(txt)
 if c is pykf.EUC:
 return txt
 elif c is pykf.UTF8:
 return unicode(txt, 'utf8').encode('euc-jp')
 elif c in (pykf.SJIS, pykf.JIS):
 return pykf.toeuc(txt)
 else:
 return txt
 −−−−
 try: import pykf except: pass とかで pykf も面倒みるように考えて貰えれば、皆さん喜ぶかなあーっと。
 
 
	
		71
		
			 owa
			 2003/06/27 01:34
							
					id: mJs8kxp1Zus
				
						
				 prob: 0.5%
			
		
	
			
		
		
					>>70
まだうまくない場合がありそうです。
 不定期に一つ前のデータを読み込みます。また長期戦かなー
 
 
	
		70
		
			 owa
			 2003/06/26 23:00
							
					id: mJs8kxp1Zus
				
						
				 prob: 1.3%
			
		
	
			
		
		
					一応使ってみて大丈夫そうなのでパッチ公開します。
http://owa.as.wakwak.ne.jp/zope/RPM/VinePlus/patch/RDFSummar...
 オブジェクトを update したとき self._s_updatedate に時刻を書き込む
 ようにしました。ついでに日本語変換 (EUC-JP) 入れました。
 オリジナル版への影響は極力減らしたつもりです。
 試してくれる人がいると助かります。
 
 
	
		69
		
			 owa
			 2003/06/25 20:26
							
					id: mJs8kxp1Zus
				
						
				 prob: 0.1%
			
		
	
			
		
		
					>>68 キャッシュをクリア
これを個別アプリがやるのは筋違いなので、なんか方法があるはずです。
 例えば最終更新時刻が戻ってしまう現象が出ますが、
 self._v_updatedate の属性を変更すれば、固定できそうな気がします。
 これをキャッシュマネージャが見てくれればキャッシュは更新されるハズ?
 という理由で再度実験してみました。
 1. RDFSummary.py で self._v_updatedate → self.last_update_date と変更
 2. Zope リスタート
 以下 #68 と同じことを繰り返したところ、ちゃんと正しく表示されました。
 この修正は仕様を変更してしまうので、パッチはさらに検討してから;;
 # 参考記事は、↓の "Not All Objects are Persistent" 以下 20 行くらい
 # http://www.zope.org/Documentation/Articles/ZODB2
 # 要は "_v_" で始まる変数は DB には保存されませんよって事で
 
 
	
		68
		
			 owa
			 2003/06/25 19:12
							
					id: mJs8kxp1Zus
				
						
				 prob: 0.0%
			
		
	
			
		
		
					こちらでも実験してみました
1. ブラウザ A で RDF 表示 -- 正常
 2. RDFSummary/以下の保存ファイルをすべて削除 {*, *.undo}
 3. ブラウザ A で RDF が表示できる -- キャッシュを見ている?
 4. RDFSummary を update する
 5. ブラウザ A で新しい RDF が表示される
 6. ブラウザ B で古い RDF が表示される -- キャッシュを見ている?
 7. ブラウザ A でも古い RDF が表示される -- (感染したか?)
 8. ZMI の DB 管理画面で Flush Cache を実行する
 9. ブラウザ A, B 供に新しい RDF が表示される
 という結果になりました。キャッシュが関与している可能性が高いようです。
 RDFSummary.py 読んで見ましたがメモリリーク等は発見できませんでした。
 というか Python 単独ではメモリリークは起きにくいはずなので、
 リークがあったとしても、さらに下層のライブラリの中になりそうです。
 ということで update() メソッドが呼ばれたとき、キャッシュをクリアする
 工夫が必要かもしれません。
 
 
	
		67
		
			 mooya
			 2003/06/25 17:47
							
					id: 8u4ahgpkAlI
				
						
				 prob: 9.3%
			
		
	
			
		
		
					>>59
調査したところ、書き出してるファイル、undoファイルは共に新しいのに
 表示データは両方とも異なる場合とかあるようです。
 読み出しに失敗?して保持してる変数を利用してしまってる??
 また、ロック処理端折ってるせいですかね、、
 
 
	
		66
		
			 kiyo
			 2003/06/25 11:46
							
					id: SqALsodDuX2
				
						
				 prob: 0.0%
			
		
	
			
		
		
					>>64
あ、そうでしたか。失礼しました。
 >>65 だめだとZope自体も動かん気がします。
 そうっすよねぇ。
 オカシイとは思ったですが、
 >OS9??
 すんません MAC 知らないので、、、
 XMLKit 入れてみました。DOM, XML 今の私では理解不能
 >RDFSummaryはupdateでメモリリーク
 まだ実験段階で実際には使用してないですし、これも今の私には酷な質問でやす。
 # 63 いらん事かいてしまった(ボソ
 
 
	
		65
		
			 mooya
			 2003/06/25 10:45
							
					id: 8u4ahgpkAlI
				
						
				 prob: 0.2%
			
		
	
			
		
		
					>>63
thread大丈夫っぽいですが、MACってOS9のことでは、、だめだとZope自体も動かん気がします。XronなどもThread使ってるんですが問題ないです。
 XMLKit使ってみてくだされ、、とっても不安定な気が、、
 あと、RDFSummaryはupdateでメモリリークないですかね?
 
 
	
		64
		
			 owa
			 2003/06/25 10:21
							
					id: mJs8kxp1Zus
				
						
				 prob: 0.1%
			
		
	
			
		
		
					>>63 08:49分
おっと誤解です。04:03分はWebサーバ、08:49分はテスト機が犯人です。
 # cron 止めておくの忘れてた;;
 
 
	
		63
		
			 kiyo
			 2003/06/25 10:12
							
					id: SqALsodDuX2
				
						
				 prob: 0.1%
			
		
	
			
		
		
					>>59 二度目の表示で .undo の方を見に行きます。
ほんとですね。確認しました。
 家の apache log 08:49分に更新に来ていますが、
 表示は 04:03分になってますねぇ
 >>48 (即死すること多し)
 mooyaさんこんちわ、人騒がせな ueno=kiyo です。
 Python テクニカルリファレンスによると、threading は
 MAC をサポートしてないになってますが、、、関係ありますかねぇ。
 PS> ↑ python ver2.1のお話です。
 
 |  |