2014-03-13 111 views
0

我是django的初學者,正在做一個測試以訪問無限循環中的模型。但是,在運行下面的代碼時,我發現內存很快就被填滿了,並最終出現內存泄漏錯誤。Django無限循環訪問模型

有人能告訴我在無限循環中訪問模型的安全/簡單方法是什麼?我應該在這種程序中使用線程嗎?

from patient_post.models import Patient 
def messageScheduler(): 
    while 1: 
    patients = Patient.objects.all() 
    del patients 
+3

你爲什麼想要做這樣的事情?我沒有看到無限訪問查詢集的實際用例。 – karthikr

+0

我想訪問查詢集並在每次迭代中執行一些操作。裏面可能有sleep()聲明,但它沒有做任何改變。 –

+0

你能更具體嗎?每次迭代需要做什麼樣的操作? –

回答

1

您應該爲這樣的事情使用工作計劃程序,您有多個選項具有不同的功能和複雜性,您的選擇將取決於您的要求。下面是一些例子:

django-chronograph

Celery

django-rq

另一種選擇是創建管理任務,並使用cron作業運行它。