
Django Async と ASGI
ASGI と WSGI、async views、sync_to_async、async_to_sync、同期 ORM の制限、async のパフォーマンス、database connection pooling
26 面接問題·
Senior
1WSGI と ASGI の主な違いは何ですか?
1
WSGI と ASGI の主な違いは何ですか?
回答
ASGI(Asynchronous Server Gateway Interface)は、非同期プログラミングと WebSockets のような永続的な接続のサポートを追加することで WSGI を拡張します。WSGI は同期的で、worker ごとに一度に 1 つのリクエストしか処理できませんが、ASGI は asyncio の event loop を通じて単一のプロセス内で複数のリクエストを同時に処理できます。
2Django で async view を宣言するにはどうすればよいですか?
2
Django で async view を宣言するにはどうすればよいですか?
回答
Django の async view は、def の前に async キーワードを付けるだけで宣言できます。Django はそのビューが非同期かどうかを自動的に検出し、適切な event loop で実行します。この Python 3.5 以降のネイティブ構文は、Django 3.1 以降で完全にサポートされています。
3Django における sync_to_async の役割は何ですか?
3
Django における sync_to_async の役割は何ですか?
回答
sync_to_async は asgiref が提供するアダプタで、非同期コンテキスト内で同期コードを実行できるようにします。同期関数をラップし、別の thread pool で実行することで、event loop のブロックを防ぎます。ORM は同期的であるため、async view から Django の ORM を呼び出すうえで不可欠です。
4
なぜ Django の ORM を async view 内で直接使用できないのですか?
5
Django における async_to_sync の役割は何ですか?
+23 面接問題
その他のDjango面接トピック
Pythonの基礎
Junior
25問Python オブジェクト指向
Junior
20問Django の基礎
Junior
20問Django Models - 基礎
Junior
22問Django ビュー
Junior
20問Django テンプレート
Junior
18問Django フォーム
Mid-Level
22問高度なQuerySet
Mid-Level
25問Django 認証
Mid-Level
22問Django ミドルウェア
Mid-Level
18問Django Admin
Mid-Level
20問Django REST Framework
Mid-Level
30問Django シグナル
Mid-Level
18問ファイルアップロード
Mid-Level
20問Django キャッシュ
Mid-Level
20問Django セッション
Mid-Level
18問Django のメール
Mid-Level
18問Django のテスト
Mid-Level
22問Django のセキュリティ
Mid-Level
22問Django のデプロイ
Mid-Level
24問Django ORM 上級
Senior
28問Django のパフォーマンス
Senior
24問Django & Celery
Senior
22問Django Channels
Senior
24問Django & GraphQL
Senior
24問Django & Docker
Senior
20問マイクロサービスエコシステムにおけるDjango
Senior
24問カスタムDjangoコマンド
Senior
18問Django の国際化
Senior
20問Django デザインパターン
Senior
24問Settings と本番環境の設定
Senior
22問オブザーバビリティとモニタリング
Senior
24問