永和システムマネジメントで AP4R 勉強会

してきました。
永和さんのほか、NaCl、NRI の方もいて、だいたい 15人くらい参加者でした。予想以上に集まってもらえて嬉しい限りです。
#噂の和室も見せてもらいました♪


勉強会では、AP4R の動作の流れ(Rails からの メッセージのキューイングにはじまり、そのメッセージが AP4R の dispatcher スレッドによって HTTPリクエストされ、非同期の処理が Rails 上で処理されたのち、HTTP レスポンスが返るまで)の説明や、SAF機能(Rails の接続している業務テーブルのコミットとメッセージの永続化をアトミックにするための機能、Stored and Forward)について話してきました。ちょっと盛り込み過ぎで時間もぎりぎりになってしまいましたが、質問やコメントもたくさんもらえて非常に刺激的でした。ありがとうございます。


資料は、RubyForge に公開しています。
一部、まだ秘密の部分があるのでそこははしょらせてもらいましたが、前半のアイスブレイク部分なので本題とは関係ないとこです。

  • AP4R technical note

http://rubyforge.org/docman/view.php/1765/942/study_session_at_esm.pdf


いろいろよいフィードバックをいただいたので、今後の機能拡張にいかしていきたいと思います。

  • もっと直感的な API への変更
  • 非同期処理側の成功条件の見直し
    • "true" をやめて乱数かメッセージID
    • HTTPステータスをデフォルトにし、それ以上の条件はプラガブルに
  • 宣言的な非同期化
    • 以下みたいな感じになると嬉しいかも?
def HogeController
  async :account

  def order
    ...
    account(:id => @order.id)
  end

  ...
end
  • 非同期設計のノウハウ
  • などなど...

裏タスクの角谷さんサインは無事にもらえました。
「全てのプログラマおよびマネージャは2つに分けられるらしい。角谷さんのサインをもらえる人とそうでない人に。」 (^^;