如何在 Django 网站中使用子进程模块

Posted

技术标签:

【中文标题】如何在 Django 网站中使用子进程模块【英文标题】:How to use subprocess module in Django website 【发布时间】:2017-12-02 14:46:12 【问题描述】:

我正在用 Django 开发一个网站,我需要在后台线程中运行一些 R 脚本。但我希望这个线程在另一个进程中,而不是主进程中。

只是因为每当我使用 os.chdir() 时,都会出现一个罕见的错误,指出找不到 manage.py 文件。所以我想对子进程而不是主进程使用更改目录功能。

【问题讨论】:

你能提供更多细节吗?错误是如何出现的?错误是什么样的?我在视图函数中使用 os.chdir() 时没有收到任何错误。 您可以使用标准库中的子流程模块。如果您希望后台进程异步运行,您可以查看 celery 或 django-channels 之类的东西。 【参考方案1】:

subprocess.Popen() 就是你要找的东西

【讨论】:

我想知道子进程模块是如何工作的。完整流程

以上是关于如何在 Django 网站中使用子进程模块的主要内容,如果未能解决你的问题,请参考以下文章

如何为python安装子进程模块?

如何在asyncio python中使用子进程模块限制并发进程数

如何使用子进程模块杀死(或避免)僵尸进程

django 如何异步执行一个函数,即将任务移交给子进程并返回响应

如何在python子进程模块中执行用户输入(如日期)作为命令[重复]

如何使用 Django 配置 Celery 守护进程