Python Django多处理奇点

Python Django多处理奇点,python,django,multithreading,multiprocessing,multiprocess,Python,Django,Multithreading,Multiprocessing,Multiprocess,在使用./manage.py shell练习一些代码时,我遇到了一些我不理解的问题 Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23) [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from

在使用./manage.py shell练习一些代码时,我遇到了一些我不理解的问题

Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from multiprocessing import Process
>>> from django.core.management import call_command
>>> p = Process(target=call_command("processphoto", 1000))
Successfully populated photo "1000"  (This is output from my processphoto command)
>>>
我从来没有机会执行
p.start()
或在流程中设置任何其他变量。它似乎是在实例化时执行的。当我尝试在我的视图中使用代码时,我看起来根本没有生成多个进程,所有的东西都保留在一个核心上

我做错了什么,还是误解了什么?我想在单独的进程中生成单独的
manage.py processphoto
命令,以充分利用多核服务器。

call\u命令(…)
调用该函数。相反,将函数对象,
call_command
,及其参数分别传递给
Process

 p = Process(target=call_command, args = ("processphoto", 1000))

啊!天哪,你会认为我是个新手。。。谢谢,不用担心。请注意,这样做将复制所有子项之间的数据库连接,并可能导致问题。我之所以提出这个问题,是因为我所有的命令脚本都有某种数据库交互。下面是一个线程,它对该问题有一定的说明,并提供一些帮助建议:[Django multiprocess database connection][1][1]:每当从模块中生成一个进程时,只要该模块的全局命名空间中定义了一个打开的连接,就会出现您警告的问题。这个问题没有提到任何开放数据库连接。因此,虽然你的警告是正确的,但我认为它与这里讨论的问题或答案没有多大关系。