2017-06-05 58 views
0

我有幾個django微服務。 他們的主要工作量是不斷的後臺進程,而不是請求處理。在芹菜中使用Django的ORM

後臺進程不斷使用Django的ORM,因爲我需要破解一些東西才能正常工作(它已經執行了很長一段時間),現在我遇到了數據庫連接問題,因爲Django並沒有真正構建在後臺使用數據庫連接很多,我猜...

芹菜總是建議在這些情況下,但在切換整個設計之前,我想知道它是否真的是一個好的解決方案。

燦芹菜任務(很多任務耗時任務)使用Django的背景沒有問題ORM?

回答

0

Celery最初是專門爲Django編寫的離線任務處理器,雖然後來被廣泛應用於任何Python代碼,但它仍然可以很好地與Django配合使用。

有多少任務和多長時間與技術選擇幾乎無關;每個Celery工作者都作爲一個單獨的進程運行,因此限制資源將成爲您的服務器容量。

+0

而且它不給Django的關於使用從單獨的進程數據庫連接的任何問題? – user3134477

0

芹菜任務(很多任務,耗時的任務)可以在後臺使用Django的ORM嗎?

是的,這取決於你的「問題」的定義:-)

更嚴重的是:Django的ORM的性能將主要由底層數據庫引擎的性能特性的限制。

如果您選擇的數據庫引擎是PostgreSQL,例如,您將能夠處理大量的併發連接。

0

您可以導入Django的ENV下面的步驟

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cmdb.settings") 

import django 
django.setup()