我有一个类似的问题,但使用内置的rails CSV库而不是csv_builder(我一无所知)。
在我的模型
我有生成CSV和节约S3作为paerclip附件的方法:
def csv_export
@entries = self.entries
@filename = "naming my file"
CSV.open("#{Rails.root.to_s}/tmp/#{@filename}", "wb") do |csv| #creates a tempfile csv
csv << ["Date & Time", "Name", "Email"] #creates the header
@entries.each do |e|
csv << [e.created_at, e.name, e.email] #create new line for each item in collection
end
end
self.update_attribute(:csv_report, File.open("#{Rails.root.to_s}/tmp/#{@filename}"))
#saves tempfile as paperclip attachment
end
我调用在卸载到延迟在职职工rake任务此方法。
所以在耙任务:Object.delay.csv_export
backgroundrb应该帮助你。他们已经描述了如何在后台执行某些任务的步骤。您可以使用cron将它自动运行,以便在需要时(在可以生成它的视图中使用它之前)运行它。 – 2012-01-09 12:37:57
我知道如何运行后台任务。我在问如何使用后台任务生成CSV文件,以及是否可以继续使用'csv_builder' – Shpigford 2012-01-09 12:52:31