Rails + Sidekiq:在后台处理上传的CSV而不保存

时间:2014-01-27 18:49:47

标签: ruby-on-rails csv

我有一个rails 3应用程序,它使用sidekiq进行后台作业。我正在使用Paperclip进行文件上传。

我在控制器中的当前操作不起作用:

def tax_rates
  if params[:tax_rates]
    TaxRatesWorker.perform_async(params[:tax_rates].tempfile)
    ...

我认为这是因为当作业进入后台时,tempfile会被删除(当我在不使用sidekiq的情况下运行它时它会起作用)。你会怎么建议我处理这个?该文件是一个大的CSV文件。我应该保存吗?

1 个答案:

答案 0 :(得分:1)

在Sidekiqs文档中:

  

这意味着您的worker的参数必须是简单的JSON数据类型   (数字,字符串,布尔值,数组,哈希)。复杂的Ruby对象(例如   日期,时间,ActiveRecord实例)将无法正确序列化。

这意味着您可以保留文件并将路径作为字符串传递给sidekiq