2
在使用./manage.py shell來鍛鍊一些代碼時,我遇到了一些我不明白的東西。Django多處理奇數
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
命令以充分利用多核服務器。
衛生署!好主,你會認爲我是第一次新手......謝謝。 –
不用擔心。你看到這一次,並永遠知道它。 – unutbu
請注意,這樣做會複製所有孩子之間的數據庫連接,並可能導致問題。我只提出這一點,因爲我的所有命令腳本都有某種數據庫交互。 這裏是揭示了這個問題的一些光一個線程,並提出了一些建議,以幫助: [Django的多進程數據庫連接] [1] [1]:http://stackoverflow.com/questions/8242837/django-multiprocessing-and-database-connections –