アップロードされる大きなファイルの最初のチャンクで、ファイルの詳細をデータベースに入力します。ユーザーがページから移動した場合。ajax リクエストが送信され、行が削除されます。ただし、接続/電源が落ちた場合、リクエストを送信できず、データベースに孤立したエントリが作成されます.
現在、最後のファイル部分のタイムスタンプを確認し、10 分間にチャンク (1MB) をアップロードしていないものはすべて削除されます。このプロセスをスピードアップできるようにしたいと考えていますが、その時間を短縮すると、インターネット接続が遅いユーザーは、アップロードを待っている間にファイル/レコードが削除される可能性があります.
これまでに 2 つの解決策を考えてきました。1 つ目は、上記で説明したように、現在使用しているものです。2 つ目は、X 秒ごとにユーザーから「キープ アライブ」リクエストを送信することです。サーバーが更新を受信せずに Y 秒経過すると、レコードは破棄されます。
後者はより速く動作するように見えますが、非常に非効率的です。誰かが前にこのようなことをしたことがありますか? それについて行く最善の方法は何ですか?
Ubuntu で Apache を実行しており、jQuery も使用しています。