0

エクスポート ファイルを作成するアプリケーションの一部があります。大多数のユーザーにとって、ファイルのエクスポート プロセスはかなり迅速ですが、10,000 以上のレコードを生成するユーザーもいます。これは物事を複雑にします。まず、ファイルをインポートするツールは、約 4,000 レコードを超えるファイルでは機能しません。次に、10,000 レコードの処理には約 20 分かかります。ユーザーが他のことを開始する傾向があり、何らかの理由でプロセスがタイムアウトしたように見え、ファイルを取得できません。ただし、プロセス ボタンをクリックしてマシンを放置すると、20 分後にファイルが取得されます。

これをより使いやすく堅牢にする必要があります。これが私のアイデアです: 1) 1 ポップあたり 4,000 の個別のファイルを自動的に作成する 2) ファイル生成用のステータス バーを提供する 3) ユーザーがボタンをクリックして 1 時間後に戻ってきてファイルをダウンロードできるように、プロセスをバックグラウンドで実行する

そのため、バックグラウンド プラグインと gem について調査を行っています。ほとんどはかなり時代遅れのようで、私は神経質になり、私が必要としているものには大きなやり過ぎのように思えるかもしれません. そのため、Spawn はシンプルでわかりやすいように見えましたが、そのタイプの製品のステータス バーをどのように表示するかはよくわかりません。

次に、Delayed_job のようなものがあります。これは機能するように見えますが、少し重いようにも見えますが、ある種のステータス更新を生成するためのフックを提供します。誰にもこの例がありますか?README は少し軽いです。

もう 1 つの問題はファイルの生成です。この複数のファイルをダウンロードするにはどうすればよいですか? とにかく、ユーザーセッションのライブ用に生成されたファイルを保存できますか?

最後に、ほとんどのソリューションは大きな変更のように見えます。この問題は苦痛ですが、技術的には機能します。だから私はそれを解決するために割り当てられている時間は最小限なので、私はKISSしようとしています. あなたが提供できる助けや方向性に感謝します。

4

1 に答える 1

1

バックグラウンド処理ジョブを探しているなら、データベースの変更をポーリングするdelayed_jobとは対照的に、Resqueを探す必要があると思います

進行状況の情報を収集するごとに、クエストであなたを助けることができるresqueプラグインがここにたくさんあると思います

最後に

Another issue is the file generation, how do I get this multiple files to download? Anyway, I can store the generated file for the live of the user session?

実際の意味はわかりませんが、複数のファイルをダウンロードしたい場合は、1 つに圧縮することができます

于 2012-06-19T19:08:22.077 に答える