投稿練習(73, 0)
 メ-ル希望(3, 0)
 障害情報(18, 0)
 雑談(871, 0)
 業務報告(284, 0)
 VineseedにZope(623, 0)
 Zope27使おう(6, 0)
 ImgBBS(14, 0)
 会員専用(0, 0)
 ぼやき場所(27, 0)
 メモ(32, 0)
 eclipse(6, 0)
  

VineseedにZope

VineSeedにZope入れようという話

投稿画面の表示を 

検索文字 

お名前  EMail 
 左に表示されている数値を入力してください 


387 owa 2003年 4月 1日 23時23分 Id=owa

>>380 thread.start_new_thread(mailredirect,(mailTO,))
これってリダイレクト処理をスレッド立ち上げて実行するってことですよね
しかもリダイレクトの先がDTMLになっている。たぶん無理だと思います。
どうしてもスレッドにするなら<dtml-sendmail>タグと同じ動作をpythonで記述して
それをスレッドで立ち上げないとできないような気がします。

>> メールエラーは、DBの読み込みに時間を食いすぎかも知れない
が原因なら、DBの読み込みとメール送信処理を分けないといけないんじゃないかな。

...と今日BBS始めたばかりの人間が勝手に推測しました。イケナイアルネ
BBSちょっとだけ解かった気がします。明日からBBS料理しよう(ソースは醤油味で)
---
追加: 今日はいっぱい嘘書いたけど4/1だったの、今、気付いた。ハハハ



386 owa 2003年 4月 1日 20時56分 Id=owa

>>384 DBの読み込みに時間を食いすぎかも
MailHost.py で timeout=1.0 になっているのだけど、ずいぶん短いな。
[追加]
timeout は未使用でしたm(.".)m



385 owa 2003年 4月 1日 20時53分 Id=owa

>>384
こちらのBBS(古い)はまだ動作していません
追加ボタン押すと"Connection refused"なんてエラーが出てます
DBオープンしているし、書き込みも(リロードすると)ちゃんとできているし。
DB名変えたのが良くなかったかな

kconv 入れようと手間取ってしまった。新しいメンテナになって中身が変ったかも?
# こちらの環境は Zope-2.5.1, Python-2.1.3, jMailHost です。(Zope-2.6 は jaMailHostに変更しないと)
---
追加: BBSのプロパティを見たら解かりました、メール鯖設定しないと;;



384 kiyo 2003年 4月 1日 19時56分 Id=kiyo

メールエラーは、DBの読み込みに時間を食いすぎかも知れない。

# ポスグレならよかったかも?



383 kiyo 2003年 4月 1日 17時45分 Id=kiyo

>>381 スコープがたぶん違うので

うーん、用語の勉強も必要かなあ
スコープってセッションの事、それとも名前空間の事でしょうか?

# [追加しました] 御免なさい、辞書で調べたら有効範囲とあった。
# 話についていけない、もっともっと頑張ろう。

この辺よく解ってないです。(質問する以前に問題ある^^;)


# メールエラーで巻き込んでしまって申し訳ないです。
# FZUG-PCにあるBBSをこちらへもってきて実験しても同じ(FZUG-PCの方が能力低いのにあちらは快適です)
# threadもこれが原因と言い切れないZopeガイドに<dtml-call acquireLock><dtml-call releaseLock>
# <dtml-try>の例題であるだけでこの関数の説明はないが、threadingのlck.acquireみたいなスペルを見つけた



382 owa 2003年 4月 1日 17時30分 Id=owa

>>381
スレッドが開始されるまで RESPONSE オブジェクトが生きているか保証がないので
やはり引数で渡したほうが良さそうに一票



381 owa 2003年 4月 1日 16時52分 Id=owa

>>380
間違っていたらすいません。
mailredirect ファンクションの中のスコープがたぶん違うので
RESPONSE を引数で渡さないといけないのではないでしょうか?
たとえ globals を使ってもだめなような
(追加:そんなことどこにも書いてないので間違いみたいですね。嘘付き>俺)

Squishdot のソース見たけどよく解からない
投稿のスレッドと、プログラムのスレッドがどちらも thread と名前を付けているような気がした(汗



380 kiyo 2003年 4月 1日 14時10分 Id=kiyo

>>379
こっちも同じような事していた。テクニカルリファレンスp269
allow_modleでthread追加
--------
addNewpyへ
import thread
def mailredirect(mailto):
  RESPOSE.redirect(mailto)

***略

thread.start_new_thread(mailredirect,(mailTO,))
--------
送信ボタンを押すも反応なし、
リロードすると、書き込みだけある。

# まだ理解できていない^^;



379 owa 2003年 4月 1日 13時43分 Id=owa

<code>
#!/usr/bin/python2.1
import thread
import time
def print_time(delay, s):
  while 1:
    time.sleep(delay)
    print s, time.ctime(time.time())

if __name__ == '__main__':
  thread.start_new_thread(print_time, (1,'A:'))
  thread.start_new_thread(print_time, (2,'B:'))
  while 1:
    pass
</code>
コンソールで試してみました。sysoutがときどき混乱するのが面白い。
# Pythonテクニカルリファレンス p270



378 owa 2003年 4月 1日 11時27分 Id=owa

>>377 threadは使えないのでしょうか?
ありゃ、避けて通ってきた道でした。
今日はこれ勉強しよかな

P.S.
Pythonスクリプトで試してみましたが、
---
Error Type: Unauthorized
Error Value: You are not allowed to access start_new_thread in this context
---
と出て許可されていないようです。もし新規に作成するのだったらExternalMethodが無難かもしれませんね。