2009-10-21 1 views
2

У меня есть веб-сайт, который прямо сейчас работает, создавая статические html-страницы из задания cron, которое выполняется в ночное время.Я хочу создать «CGI-скрипт» в python, который остается в памяти и обслуживает несколько запросов.

Я хотел бы добавить некоторые функции поиска и фильтрации с использованием сценария типа CGI, но мой скрипт будет иметь достаточно времени для запуска (может быть, несколько секунд?), Что я бы хотел, чтобы он оставался резидентным и обслуживал несколько Запросы.

Это побочный проект, который я делаю для удовольствия, и это не будет супер сложным. Я не против использовать что-то вроде Pylons, но мне не кажется, что мне нужен или нужен слой ORM.

Что было бы разумным подходом здесь?

EDIT: Я хотел бы указать, что для нагрузки, которую я ожидаю и обрабатываю, мне нужно сделать по запросу, я уверен, что один скрипт python в одном процессе может обрабатывать все запросы без каких-либо замедлений, тем более, что мой набор данных будет резидентным.

ответ

4

Это именно то, что WSGI для;)

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

Это сказало, An Introduction to the Python Web Server Gateway Interface (WSGI) кажется разумным введение, и вы также хотите, чтобы взглянуть на mod_wsgi (при условии, что вы используете Apache ...)

+0

То, что поразило меня о WSGI, когда я читал об этом, заключалось в том, что он не предназначался для использования «конечными пользователями», как это; это больше похоже на интерфейс между другими фреймворками и веб-сервером. Кто-нибудь здесь попытался использовать WSGI напрямую? Это полезно? – csbrooks

+1

Письмо в wsgi Я считаю проще, чем писать прямой cgi. Если вы используете Webob, это еще проще. –

+0

Хорошо, WSGI выглядит как путь сюда. Благодаря! Эта ссылка (одна из ссылок выше) запечатала ее для меня: http://bitworking.org/news/Why_so_many_Python_web_frameworks – csbrooks

-1

может быть, вы должны направить свой поиск в направлении среди процессов commmunication и выполните процесс поиска, который возвращает результаты на веб-сервер. Этот процесс поиска будет работать все время, предполагая, что у вас есть собственный сервер.

+0

Нет, я бы сказал, что это неправильный способ сделать это. IPC сложна, и это почти то, что WSGI уже делает: когда запускается 'mod_wsgi', он' fork() 'и запускает процесс запуска вашего скрипта, а затем, когда Apache получает запрос на URL-адрес, который обслуживает ваш скрипт, этот запрос получает переданный 'mod_wsgi', который затем передает его вашему скрипту. Все довольно прозрачно для вас. –

+0

@ Давид, вы, конечно, правы. Я не знаю, как работает WSGI, но op не понравилось, поэтому я пытался найти альтернативное решение. –

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