1

次のような管理コマンドを使用して、Django を簡単に起動できます。

management.call_command('runserver', interactive=False)

しかし、実際には実行をブロックします。サブプロセス/スレッド化/マルチプロセッシング以外の回避策。

よりネイティブな方法でそれを行う方法を意味しますか?

4

1 に答える 1

0

管理コマンドは「djangoの起動」ではありません。

任意の数の Web サーバーにデプロイすることで「django を開始」します。各 Web サーバーにはバックグラウンドで実行するメソッドがあります。 https://docs.djangoproject.com/en/dev/howto/deployment/

django を動的に展開することは私が見たものではありませんが、Web サーバーの構成ファイルを生成するスクリプトを作成できると思います。

manage.py runserver本番環境/用途には決して使用しないでください。

これが単なる例であり、実際に他の非同期管理コマンドを実行したい場合、受け入れられたコミュニティは、Celery のようなタスク キューを使用するように回答します。

http://docs.celeryproject.org/en/latest/django/

その後、10000 個の非ブロッキング管理コマンドを起動して、「将来」セロリ ワーカーによって消費される可能性があります。

于 2013-02-15T08:00:38.503 に答える