2014-11-14 2 views
0

У меня есть очень базовое веб-приложение с кнопкой, которая будет запускать сценарий Python в фоновом режиме. Этот скрипт извлекает много данных и иногда занимает около 3 часов (что нормально и полностью нормально). Я хочу, чтобы пользователь нажал кнопку и запустил сценарий в фоновом режиме, а затем перенаправил их на домашнюю страницу. Я не думаю, что моя веб-форма или скрипт Python важны для показа, но вот «средняя» страница, которая должна делать то, что я хочу. Тем не менее, он просто пытается запустить сценарий и, в конце концов, отключается, и говорит: «502 - веб-сервер получил недействительный ответ, выступая в качестве шлюза или прокси-сервера». Любая помощь приветствуется!Избегайте ошибки/времени 502 при запуске скрипта Python на сервере

Обновленный код предложение от Serge:

import os 
import sys 

load_path='/var/www/cgi-bin/resourcedb/scripts/' 
sys.path.append(load_path) 
os.system("nohup python " + load_path + "upload_rg_test.py &") 
print "Content-Type: text/html\n\n" 
print "<html><head>" 
print '<meta http-equiv="refresh" content="0;url=/">' 
print "</head></html>" 
+0

Вы можете открыть для себя другое решение, которое вы пробовали, как сельдерей? –

+0

На самом деле, возможно, вы только что дали мне другую идею. Я скоро поправлюсь. Благодаря! –

ответ

0

Это сценарии, кажется, не возвращает правильный ответ HTTP: заголовок объявляет текст/html контента, и тело в не правильной HTML-страницы. Я бы воспользовался:

print "Content-Type: text/html\n\n" 
print "<html><head>" 
print '<meta http-equiv="refresh" content="0;url=http://webdesign.about.com/">' 
print "</head></html>" 
+0

Я пробовал это (см. Обновленный код выше), но все же имел ту же ошибку. –

+0

@KeatonAdams Мое намерение состояло в том, чтобы заменить скрипт, чтобы не добавлять это раньше. Но можете ли вы использовать [wireshark] (http://www.wireshark.org) или любой другой сетевой шпион, чтобы точно узнать, что ваши скрипты отправляют в браузер? –

+0

Я попытался удалить мою переменную window.location и просто использовать ваш код, но все же имел ту же проблему. Я попробую использовать wirehark. Благодаря! –

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