黃金俠

Ruby on Rails / Rubygems / Javascript / Git

用 resque 實作背景作業 ( 佈署篇)

| Comments

透過 capistrano 佈署到 server 時,除了需要啟動 worker 之外,也會希望在每次佈署後,也重新啟動 worker
因為 worker 是透過 rake 啟動的,所以當 perform 相關的程式有修改時,worker 也必須重新啟動
以下將介紹如何將重啟 worker 整合到 capistrano 中

用 resque 實作背景作業 ( mailer 篇)

| Comments

寄信的工作是最必要丟背景的。在 web 前端使用的過程中,若要等待 server 產生 email 內容、和 smtp 連線、然後再把信送出去,這樣的過程肯定讓使用品質大大扣分…
因此 gem “resque_mailer” 將 resque 的 enqueue 和 perform 實作到 ActionMailer::Base 中

用 resque 實作背景作業 (測試篇 - Rspec)

| Comments

不管用什麼方式實作 background job 後
令人頭痛的是很難知道 worker 在執行工作時有沒有噴 exception
因此測試就顯得更為重要, 每次佈署前必須做好完整的測試, 以減少 worker 出錯
當然也可以搭配 Exceptional 或 Aribrake 之類的雲端服務來進行監控…

用 resque 實作背景作業 (前置設定篇)

| Comments

resque 是一套可以用來實作 background job 的 gem
舉凡長時間的執行如 email, 點數計算等等非即時性的工作, 都可以採用非同步執行
以加速前端服務的反應速度
resque 是以 redis 做為 message queue server 的方式來進行…