Найти - Пользователи
Полная версия: как запустить фоновую задачу через cgi?
Начало » Python для экспертов » как запустить фоновую задачу через cgi?
1
Игнат
Столкнулся с такой проблемой.
python3-скрипт запускается апачем как cgi и с помощью subprocess запускает фоновый процесс - другой питон-скрипт.
Но если закрыть страницу с первым скриптом, то умирает и второй.

Пробовал делать демона с помощью двух fork(), запускать через ‘at now’ - ничего не помогает.
Если запустить скрипт из консоли, то он запустит фоновый процесс, а сам завершит работу и никаких проблем. Но если запускать через cgi - то все фоновые умирают после закрытия страницы.

Как же из веба запустить демона чтобы не умирал?

вот что у меня сейчас есть: http://pastebin.com/eUqu1pPC
JOHN_16
счаз проверить нету возможности, поэтому на вскидку:
вызов subprocess c аргументом close_fds=True
Если аргументу close_fds присвоено значение True, то все дескрипторы, исключая 0, 1 и 2 будут закрыты перед выполнением дочернего процесса (только для UNIX).
Данная опция полезна если в вызывающей программе присутствуют, например, открытые сокеты, а запустив процесс мы передадим ему дескрипторы родителя тем самым сделав этот сокет занятым обоими процессами и закрыть сокет можно будет только после того как завершит работу дочерний процесс

Ну и вообще можно поиграться с аргументами, бывало что помогает, поглядите тут
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB