Rails で非同期処理のお話
DelayedJob
id:xibbar さんのお話。
- backgroundDRb(drb = ライブラリ, irbでサーバ・クライアント)
- データでなく、オブジェクトで通信やりとり
- cronのような機能あり
- DelayedJob(AR) <-- 今回これやる
- resque(Redis)
- cronのような機能あり resque-schedule?
DelayedJob をやってみる
$ rails new delayedjob --skip-bundle $ cd delayedjob/ $ emacs Gemfil
Gemfile
gem 'delayed_job_active_record' gem 'daemons'
インストールして、テスト用のschafoold作って、スクリプト実行
$ bundle install $ rails generate scaffold blog title:string body:text $ ruby script/delayed_job start
reils console で
#デフォ5秒後 Blog.delay(:run_at => Time.now).create(:title => From delayed) #秒数を指定する場合 + 30秒 Blog.delay(:run_at => Time.now+30).create(:title => From delayed)
後記
参加人数4人でした。
お疲れ様でした。たいへん勉強になりました。