5

Django では、ビューがリクエストに応答している間に sleep() 関数を使用する場合、これはリクエストのキュー全体の処理をブロックしますか?

もしそうなら、このブロッキング動作なしで http 回答を遅らせるにはどうすればよいですか? Celeri のようなジョブ キューを使用せずに、すぐに使用できるようにすることはできますか?

4

1 に答える 1

2

ほとんどの場合、呼び出しsleep()によってすべてのDjangoコードの実行がブロックされるはずだと思います。ただし、デプロイメントアーキテクチャ(gevent、gunicornなど)によって異なる場合があります。たとえば、リクエストごとにDjangoスレッドを起動するサーバーを使用している場合、すべてのコードがブロックされるわけではありません。

ただし、ほとんどの場合、(1)車輪の再発明を行わず、(2)テスト済みであるため、Celeriのようなものを使用する方がはるかに優れたソリューションになります。

于 2012-10-22T18:38:26.830 に答える