【问题标题】:Rails + Sidekiq: Processing uploaded CSV in the background without saving itRails + Sidekiq:在后台处理上传的CSV而不保存它
【发布时间】:2014-01-28 02:53:49
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails csv


    【解决方案1】:

    在 Sidekiqs 文档中:

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

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

    【讨论】:

    • 文件很大。除了在本地保存文件还有其他方法吗?
    猜你喜欢
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多