2011-02-07 80 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来处理处理,这样您可以将焦点返回给用户和站点 - 这同样适用于发送电子邮件等需要建立与第三方的连接。