Как я могу поместить процесс в фоновом режиме, используя Django? - PullRequest
5 голосов
/ 20 мая 2010

Я пробовал os.system, os.spwanl и т. Д., Но это не работает

Мне нужно выполнить какой-то фоновый процесс из приложения django.

Ответы [ 4 ]

15 голосов
/ 20 мая 2010

Попробуйте использовать сельдерей . Первоначально он был создан для этой цели и также поддерживает задачи планирования.

0 голосов
/ 18 августа 2010

Я использовал paramiko , чтобы поместить процесс в фоновый режим для локального / удаленного доступа ..,

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host,user,pwd,port,.......)

si, so, se = ssh.exec_command('nohup' + cmd + '&')
so.read()
se.read()

решил проблему ....

0 голосов
/ 20 мая 2010

Я использовал подпроцесс для порождения фоновых процессов из Django раньше. Это может зависеть от вашей среды, но у меня не было проблем с его использованием с modpython и modwsgi.

0 голосов
/ 20 мая 2010

Модуль подпроцесса дает вам гораздо более детальный контроль над процессами нереста, чем предоставляет os.system.

...