Использование fork в Ruby on Rails для создания параллельного процесса

У меня в разработке находится приложение Rails 3 с Passenger на Apache. У меня есть этот код:

class Billing < ActiveRecord::Base
  after_save :sendEmails

  private
    def sendEmails
      fork do 
        UserMailer.clientBilling(self.user, self).deliver
      end
    end
end

В localhost, когда приложение создает биллинг, после его сохранения приложение отправляет пользователю электронное письмо, все работает нормально. Но на сервере, после того как приложение создает биллинг, оно выдает мне ошибки, связанные с драгоценным камнем MySQL2, такие ошибки, как «Сервер MySQL ушел» или «Соединение потеряно», и приложение не отправляет электронные письма. Если я удалю вилку, она будет работать нормально, но я хочу использовать вилку, я хочу создать отдельный процесс, потому что при отправке электронных писем он занимает много времени. В чем может быть проблема?

12
задан Chris Ledet 18 January 2012 в 16:22
поделиться