Django: запускать постоянно запущенную фоновую задачу на размещенном в IIS приложении - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть веб-приложение Django, размещенное на IIS. Мой подпроцесс должен ВСЕГДА работать вместе с веб-приложением. Когда я запускаю приложение локально, используя

python manage.py runserver фоновая задача отлично работает во время работы приложения. Однако размещенная на IIS фоновая задача не запускается. Как заставить задачу выполняться, даже если она размещена на IIS?

В файле manage.py Django у меня есть следующий код:

 def run_background():
     return subprocess.Popen(["python", "background.py"], creationflag=subprocess.CREATE_NEW_PROCESS_GROUP)
 run_background()
 execute_from_command_line(sys.argv)

Я не знаю, как решить эту проблему.

Будет ли что-то вроде работы сельдерея для бесконечного запуска задачи? Как бы я это сделал? Пожалуйста, дайте пошаговые инструкции.

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете установить автоматический запуск приложения, выполнив следующие шаги:

  • Выберите сайт -> предварительные настройки-> Предварительная загрузка включена = "true" enter image description here

  • Выберите пул приложений-> предварительные настройки-> режим запуска = «всегда работает». В разделе «Модель процесса» установите для параметра «Время простоя (минуты)» значение 0 иВ разделе «Переработка» установите для параметра «Стандартный интервал времени (минуты)» значение 0

enter image description here

  • Запустить команду iisreset fromкомандная строкаenter image description here

Также проверьте, что вы установили настройку FastCGI: enter image description here

С уважением, Джалпа.

...