Wednesday 9 June 2010

Haskellと、メールの遅延

特に毎日日記を書くようにしているわけでもないので良いんですが... (嘘つき)

Haskell 走らせてて微妙にはまって、

 http://ja.wikipedia.org/wiki/Haskell#.E7.84.A1.E5.90.8D.E9.96.A2.E6.95.B0.E3.81.A8.E3.82.AB.E3.83.AA.E3.83.BC.E5.8C.96

 max = \a -> (\b -> if a > b then a else b)

これが、

GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> let max = \a -> (\b -> if a > b then a else b)
Prelude> max 1 2

<interactive>:1:6:
  No instance for (Num ())
   arising from the literal `2' at <interactive>:1:6
  Possible fix: add an instance declaration for (Num ())
  In the second argument of `max', namely `2'
  In the expression: max 1 2
  In the definition of `it': it = max 1 2
Prelude>

とか文句を垂れる。なにぬねの。

   *   *   *   *   *   *

「ま、良いや」で、今までさぼってた学科のメールを gmail (iPhone 専用) に転送しようと思い立つ。

えーと、.forward に procmail 書いて SPAM 以外を gmail に送って、あとは、今まで通り転送して... とかやると全然メールが来ない。なんで?

と思うと、nirai にメールが溜りまくり。確かに一部の先生の送信が1200とか溜っているんですが、普通、そんなのに時間かからないんだけどな。amavisのprocess 増やしたり、time out 増やしたり...

結局、めんどくさくなって root とから送信キューを削除。(乱暴...) 夜中には掃けたようです。

でも、自分のmailの方に「mail loop detection」なるものが...

自分のサーバ側で、
  \kono
  procmail ...
とかすると、cr domain に送ってしまうらしい。いや、そうしないと、自分のcr domain 学生にメールを送れない。それは、まぁ、正しい。でも、それじゃ困るんだけど。

なので、nirai 側で、gmail に転送するように。nirai の負荷を上げたくないんだが...

でも、
  nirai から研究室サーバに転送
  研究室サーバから振り分けて事務サーバに転送
ってやってる人もいて、事務サーバは、nirai 経由なので結局 nirai の負荷はあがる。うーん。

なんか配送側は amavis 動かさないで、spool 側だけで動かす方が良いのか。良くわからん。

No comments: