2008-07-01から1ヶ月間の記事一覧

TheSchwartz で時間が掛かる job を実行するときは grab_for に注意

TheSchwartz の worker で、一つの job が worker->grab_for (default 3600) 秒以上掛かる処理をすると、処理中の job を他の worker が掴んでしまう。具体的には大量のメール送信をしていたんだけど、Data::Valve でスロットリングしてゆっくり送っていたら…

Data::Visitor の変更で Data::Visitor::Encode がこけた

つい先日、2008-07-21 にリリースされた Data::Visitor 0.18 をインストールしたら Data::Visitor::Encode がコンパイルエラー。 Can't locate object method "mk_accessors" via package "Data::Visitor::Encode" Data::Visitor の Changes には 0.18 - Wea…

Apache2::AuthenOpenID を使ってみたらはまったので直してみた

Apache2::AuthenOpenID を使って trac に OpenID 認証を掛けようとしたら嵌ったので、coderepos で branch 作っていじってみました。 http://coderepos.org/share/browser/lang/perl/Apache2-AuthenOpenID/branches/per_dir_configまず trac の複数のプロジ…

Perl + Win32::OLE で Skype に発信

ほんのとっかかりだけ。 use strict; use warnings; use Win32::OLE; my $user_name = shift || die; my $skype = Win32::OLE->new('Skype4COM.Skype'); unless ( $skype->Client->IsRunning ) { $skype->Client->Start(); } my $user = $skype->User($user_…

Mail::Sendmail で RFC 違反のメールアドレスに送信

問題になった「RFC違反のメールアドレス」は、携帯でよく問題になる foobar.@example.com みたいな奴。 普通に送信しようとすると、"No recipient!" と例外が飛んでしまう。Mail::Sendmail は送信時に while ($recip =~ /$address_rx/go) { push @recipients…