[Rails] delayed_job 與 sidekiq 兩套 gem 的差異
兩者都是用來進行非同步處理的 gem,用在需要背景大量工作如寄出 email, 匯入匯出大筆資料等工作。
delayed_job
使用關聯式資料庫,非常方便安裝使用。
sidekiq
使用高效能的 redis: key-value store
來儲存要執行的任務,並且善用多執行序來增加效能,號稱可以以一個 process 抵上 20 個delayed_job
的 processes。
差異:
Sidekiq
利用 redis: key-value
來儲存要執行的任務去儲存 work 然後去執行他,而 delay_job
是新增一個 table 把 work 丟進去執行
相對來說 delay_job
不管是在 local 還是 heroku 是非常容易操作及安裝的。