2016-04-01 4 views
0

Есть ли (рекомендуется) способ запуска Django как долгого одиночного процесса (который обрабатывает запросы в очереди)?Долгосрочный процесс Django возможен?

Я пытаюсь решить проблему с производительностью, где наилучшая прогнозируемая настройка производительности по-прежнему не будет достаточно быстрой для производства. Оба настроенных запроса БД и кэширования в конечном итоге занимают слишком много времени при десериализации.

Кроме того, наборы запросов довольно статичны.

Таким образом, казалось бы, одним из вариантов решения проблемы с производительностью было бы проведение расчетов по существующим выполненным/реализованным запросам из долгого процесса.

Кто-нибудь знает, как запустить django таким образом?

ответ

0

Поскольку Django находится на Python, вы можете легко запустить часть приложения в виде скрипта, работающего на сервере, либо в качестве задания cron, либо постоянно работающего.

Если скрипт находится в директории проекта, вы должны начать с этими линиями:

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<module>.settings") 

В каком <module> это каталог, содержащий файл settings.py.

Вы можете получить доступ к объектам и нормально функционировать, например:

from app.models import * 

if __name__ == "__main__": 
    obj = MyObj.objects.all() 
+0

Проблема здесь принимает запросы. Я все еще хочу принимать запросы, но из одного и того же процесса, чтобы я мог эффективно обмениваться данными в памяти по запросам. – Catskul

Смежные вопросы