私はcsvとExcel Railscastのインポートと同様のアイデアを使用していますが、そのエピソードの標準コードは処理に時間がかかるため(ActiveRecordを使用してファイル内の各行の新しいレコードを作成します)、Herokuでタイムアウトが発生していますインポート プロセスをバックグラウンド ジョブに移行したいと考えています。
ファイル変数 (ActionDispatch::Http::UploadedFile 型) をジョブに送信できなかったので、代わりに file.original_filename と file.path の個々の変数を送信しました
file /var/folders/q3/xn0bp7yd2m56_4lbq0069jj80000gn/T/RackMultipart20150319-72431-1a4pnja.xlsx does not exist
ジョブが開始される前にファイルが既に削除されているため、ジョブは次のように発生していると思われるエラーで失敗します。
アップロードされたファイルは、1 回のリクエストで有効期限が切れる一時ファイルです。オブジェクトがファイナライズされると、Ruby はファイルのリンクを解除するため、別のメンテナンス タスクでファイルをクリーンアップする必要はありません。
ActionDispatch::Http::UploadedFile
ActionDispatch::Http::UploadedFile でアップロードされたファイルは、バックグラウンド ジョブで使用できませんか?
Rails 4.2、ActiveJob、および Resque を使用しています