1

目前我有一个 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

1 回答 1

4

因为您依赖于他们 API 的响应时间,所以最好使用 delay_job 来处理处理,这样您就可以将焦点返回给用户和站点 - 这同样适用于发送电子邮件等需要建立与第三方的连接。

于 2011-02-07T14:48:50.980 回答