在寫測試中, 有許多的情境, 可能會需要在產生測試用資料後做許多處理, 因此 Factory Girl
本身也提供了 callback
機制…
factory_girl 中的 model 關連 (association)
不論是 one-to-one
one-to-many
或 many-to-many
, 我們都希望 model 中的關連也能反應到 factory_girl
的定義中
factory_girl 的 validates_uniqueness_of 欄位問題
model
中有 validates_uniqueness_of
的欄位, 在 factory_girl
中可透過 sequence
來避免兩次以上的 factory 因 validation 沒過而無法產生假資料的情況
Bigtuna 保持 delayed_job 持續執行
BigTuna
是透過 delayed_job 讓所有 build 中的 process 的能夠正常運作
當 delayed_job
因為某種不明因素終止時, 就得再 ssh 到 server 重啟 delayed_job
…
用 resque 實作背景作業 ( 佈署篇)
透過 capistrano 佈署到 server 時,除了需要啟動 worker 之外,也會希望在每次佈署後,也重新啟動 worker
因為 worker 是透過 rake 啟動的,所以當 perform 相關的程式有修改時,worker 也必須重新啟動
以下將介紹如何將重啟 worker 整合到 capistrano 中
用 resque 實作背景作業 ( mailer 篇)
寄信的工作是最必要丟背景的。在 web 前端使用的過程中,若要等待 server 產生 email 內容、和 smtp 連線、然後再把信送出去,這樣的過程肯定讓使用品質大大扣分…
因此 gem “resque_mailer” 將 resque 的 enqueue 和 perform 實作到 ActionMailer::Base 中
用 resque 實作背景作業 (測試篇 - Rspec)
不管用什麼方式實作 background job 後
令人頭痛的是很難知道 worker 在執行工作時有沒有噴 exception
因此測試就顯得更為重要, 每次佈署前必須做好完整的測試, 以減少 worker 出錯
當然也可以搭配 Exceptional 或 Aribrake 之類的雲端服務來進行監控…
用 resque 實作背景作業 (基本使用篇)
上篇提到如何進行 redis, resque, worker 的設定安裝 本篇將介紹基本使用方式
用 resque 實作背景作業 (前置設定篇)
resque 是一套可以用來實作 background job 的 gem
舉凡長時間的執行如 email, 點數計算等等非即時性的工作, 都可以採用非同步執行
以加速前端服務的反應速度
resque 是以 redis 做為 message queue server 的方式來進行…
Devise + Omniauth 的 Facebook 登入範例
以下範例應用於 rails 3.1.3 + devise 1.4.9 + oa-oauth 0.3.2
直接使用 devise 中的 omniauthable 有許多彈性不足的問題
因此小弟參考了網路上的作法, 加上因應某些需求的修改…