1
私はHerokuを使用して配備しているレールアプリを構築しています。大きなcsvファイル(5000行以上)をインポートして処理できる必要があります。ルビーのcsvパーサに組み込まれて使用してコントローラにそれをやって非常に大きなcsvファイルをレールでインポートして処理するには
は時間に
を30秒以上かかり、Herokuのダイナモを引き起こし、私はdelayed_jobでそれを処理し、データベースにcsvファイルを置くことを考えていたが、このましたメソッドはわずか4200行を超えて制限します。
デシベルは
にこのユースケースのための任意のアイデアをそれを処理することができるはずですので、私は、ファイルを含む列のためのMySQLとLONGTEXTを使用していますか?
あなたは、いくつかのファイルにCSVを分割することができ、単純にワーカーを使用してCSVを実際に解析してデータを保存し、「あなたのCSVが解析されているときに数分で戻ってくる」というユーザーに直接応答することができます。 – MrYoshiji
このファイルを作業者に送信しようとすると、遅延ジョブテーブルには大きすぎるため、アクティブなレコードエラーが発生する – user3277176
私のプロセスは基本的にコントローラにファイルを保存させ、 /労働者。ファイルを1行ずつ、またはバッチで解析すると、アクティブなレコードエラーが発生しません – whodini9