2011-09-09 11 views
1

画像をアップロードできるウェブサイトで、サムがどのように生成されていますか? 私はimagemagickが一般的に使用されていることを知っていますが、質問はdbエンドでどのように機能するのですか?私はそれがデータベースにキューを持っていると思うし、一度にN個の画像を処理することができます。親指を生成する良い方法は何ですか?

私は一瞬、そのキューはどのように機能するの

ためasp.netベースのWebサイトについて話していますか? 1つの考え方は、Application_Startに(a)プロセスを必要とし、作業が不要になったときにスリープする必要があるイメージのためにdbを読み込むデーモンとして(a)スレッドを起動するコードです。

これは良い方法ですか、「適切な」ですか?どのような方法が「良い練習」です

答えて

1

リサイクルのためにasp.netプロセス内のような外部スレッドは開始しません。

多くの場合、アップロード時に非同期ページで行うことができます。そうでなければ、生成する必要があるサムネイルのキューを処理する別のアプリ(サービス、おそらく)。

+0

1)このリサイクルはありますか? http://www.devx.com/vb2themax/Tip/18713アプリケーション全体を再起動するので、_start()のスレッドを再起動しませんか? 2)この別個のアプリやサービスはどのようにコード化されますか?私は実際にManualResetEventを使用して、即時の結果を得るために前記スレッドをスリープ/スリープ解除します。 –

1

私たちのasp.netサイトでは、標準的な.Netのイメージリサイジングの実装を使用して、ユーザーの画像投稿でそれを実行しています。画像の処理よりもはるかに時間がかかりすぎるので、DB 2の画像(親指と原点)はHTTP上を移動するよりもはるかに高速です。

+0

haha​​はい非常にそうです。それがビデオだったらどうしますか? (多分別の答えがあなたの考えを持っているかもしれません) –

+0

@ acidzombie24よく、私たちはいくつかのテキストの索引付けといくつかの商品との関係を作成するための別の長いプロセスを持っていました。これは、スタンドアロンWebサービス(実際にはインデックス作成のための一方向のメソッドであり、もう一方はAJAXによる成果の制御)でした。 Webサービスは別々のスレッドで実行されるため、そうです。 – Dewfy

0

イメージとビデオを処理する時間が本当に必要な場合は、処理を行うためにWindowsサービスを作成することを検討してください。

生データを一時フォルダに保存し、データベース内のあるテーブルにエントリを追加します。このテーブルにはデータがいつ処理されるかがわかっているので、データベースにレポートが戻ってきます。データは処理されます。より単純な方法では、サービスがフォルダを監視し、そこに置いたものを処理し、処理されたファイルを「処理済みファイル」フォルダに移動さ​​せることができます。

+0

これはうまく聞こえますが、ノンストップクエリーを実行する代わりに、ウェブサイトから何かを見て準備ができていることを知らせるべきですか?たぶん、私はちょうど非常に頻繁に極端ではない100ミリメートルごとにデータベースをチェックすることができますか? –

+0

はい、n msごとまたはsecodnsごとにポーリングしますが、変数を調整して調整することができます。 – Jeroen