2011-02-07 79 views
1

目前我有一個Rails 3應用程序訂閱MailChimp的新用戶。正如我的用戶模型的一部分,我有這樣的:Rails 3&MailChimp - 加快速度

after_create :add_user_to_mailchimp 
before_destroy :remove_user_from_mailchimp 
before_save :update_mailchimp_values 

然後,每個這三個動作有一些變化在此:

def add_user_to_mailchimp 
    mailchimp = Hominid::API.new(MAILCHIMP_API_KEY) 
    list_id = mailchimp.find_list_id_by_name MAILCHIMP_LIST_NAME 

    info = { } 
    mailchimp.list_subscribe(list_id, self.email, info, 'html', false, true, false, false)) 
end 

的問題是,這種增長放緩的註冊過程。 ..它可能需要3到4秒才能返回,我擔心一旦閘門打開(可能在今天晚些時候),它會被無可奈何地失控。

有沒有一種簡單的方法可以讓這個更快,還是我需要設置類似於delayed_job的東西?

回答

4

因爲您依賴於其API的響應時間,所以最好使用delayed_job來處理處理,這樣您可以將焦點返回給用戶和站點 - 這同樣適用於發送電子郵件等需要建立與第三方的連接。