0
我們最近擴大了使用多個負載平衡服務器的應用程序,我有一個關於回形針附件的處理問題,更具體地說,延遲上傳到S3回形針與多個服務器
這裏的情景:
- iPhone應用程序向網絡應用程序添加新數據,包括照片上傳。
- 出於性能考慮,照片是第一次在本地存儲
- 我們用delayed_job的處理和上傳文件到S3
下面是相關代碼:
has_attached_file :local
has_attached_file :remote, :styles =>{:thumb =>'100x100'},
:path => ":class/photos/:id_partition/:style.:extension",
:s3_credentials => "#{Rails.root}/config/amazon_s3.yml",
:storage => :s3
after_save :update_remote
def photo
remote_file_name ? remote : local
end
def photo=(attachment)
local = attachment
end
def update_remote
unless self.remote_file_name
if self.local.exists?
self.remote = self.local
self.local = nil
self.save
end
end
end
handle_asynchronously :update_remote
我的問題是,如何將其擴展到多個應用程序服務器?本地文件將只存在於其中的一個文件中,並且由於延遲,我很不喜歡直接上傳到S3。