1

One can easily start Django using management command like this:

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

But it actually blocks execution. Any workaround apart from subprocess/threading/multiprocessing.

I mean how to do it in more native fashion?

4

1 回答 1

0

管理命令不是“启动 django”。

您可以通过在任意数量的 Web 服务器上部署来“启动 django”,每个服务器都有在后台运行的方法。 https://docs.djangoproject.com/en/dev/howto/deployment/

动态部署 django 不是我见过的,但我想你可以编写一些脚本来生成网络服务器配置文件。

manage.py runserver绝不应用于生产环境/用途。

如果这只是一个示例,并且您实际上想要运行其他异步管理命令,那么公认的社区会回答使用像 Celery 这样的任务队列。

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

然后,您可以启动 10000 个非阻塞管理命令,以供 celery 工人在“将来”使用。

于 2013-02-15T08:00:38.503 回答