ユーザーが動画をアップロードできるようにすると、ffmpegを使用して変換されます。ビデオの変換には非常に長い時間がかかり、通常はエラーが発生します。私はどこから始めるべきかについて運が悪かったので研究をしました。
基本的に私がやりたいのは、ユーザーがビデオをアップロードしてから、ビデオが処理中であることを示すメッセージを表示できるようにすることです。利用可能になると通知が届きます。それまでの間、ビデオを舞台裏で変換し、ユーザーがページを離れたり、ブラウザーを閉じたりできるようにしたいと思います。Windowsサーバーを使用しています。
どうすればこれを達成できますか?
Cronなどのスケジューリングシステムを使用して独自のキューを作成する方法の基本的な概要は次のとおりです。
queue
を含むデータベーステーブルを作成します(id, created_at, file_path, id_user, result, error)
。にfile_path
は、処理するアップロードされたビデオの場所が含まれ、結果はnull
処理前とtrue/false
成功に応じて後であり、失敗した場合error
はメッセージが含まれます。必要に応じて、ユーザーテーブルの主キーもここに保存できます。ps aux | grep (scriptname)
* nixライクなオペレーティングシステムで実行している場合は、の出力を使用してここで役立てることができます。Webアプリケーション内では、ワークフローをいくらか変更する必要があります。ビデオがすぐに処理されることを期待するのではなく、次のことを行う必要があります。
このアプローチは、独自のキュープロセッサをインストールできない共有ホスティングに非常に役立ちます。ただし、VPSまたはクラウドシステムを使用している場合は、Gearmanまたは他の多くのキューイングシステムの1つを調べることをお勧めします。これらは上記よりも少し複雑ですが、作業キューを管理するためのより多くの機能があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加