Thread: [ppa-qps-devel] =?koi8-r?b?z8LSwcLP1MvBINrB0NLP08/X?=
Brought to you by:
ods
From: <gl...@in...> - 2006-09-23 07:49:55
|
Добрый день. У меня опять возник вопрос, на этот раз не по приложению (оно более-менее установилось), а скорее как оно работает. Правильно я понимаю, что запросы в системе apache+mod_python+ppa/qps обрабатываются примерно по следующему алгоритму: 1) пользователь через браузер генерирует http-запрос на web-сервер, в теле запроса фигурирует имя скрипта script.py 2) web-сервер видит это имя и пытается в своих конфигурациях найти подходящий обработчик для скриптов такого типа 3) находит директиву PythonHandler (работающую в определенной директроии), она имеет вид: PythonHandler Handler_Filename::Handler_Class.handler_method, где: * файл Handler_FilenameHandler_Filename.py должен находиться в описанной директории * в этом файле должен быть описан класс Handler_Class, имеющий в своем теле метод handler_method(req,...), имеющий в качестве одного из своих параметров ссылку на структуру http-запроса 4) web-сервер (точнее уже mod_python) запускает интерпретатор Python'а, который создает объект класса Handler_Class и вызывает в нем handler_method, передавая запрос в качестве параметра 5) дальше обработка запроса полностью на совести handler_method, он может подключать дополнительные модули (в частности ppa, qps), затем возвращать результат работы на сервер (например, через параметр response) 6) в конце интерпретатор закрывается, сервер отсылает полученные от него данные пользователю Если я ничего не наврал, не совсем понятно, как работает web-приложение, написанное с использованием ppa, qps: 1) еще давно Вы писали, что в типичной конфигурации apache должна присутствовать директива PythonHandler edit::handler, в файле edit.py присутствует строчка handler = Handler.Handler(Edit(site)), т.е. создается объект из файла Handler.py класса Handler с некоторыми параметрами, тогда не совсем понятно, как из этой точки узнать, какой именно метод отвечает за обработку запросов и передать ему этот запрос? 2) если запускать приложение (файл edit.py) с предложенными настройками, то ни в модуль Site.py, ни в Handler.py управление не передается (проверил, вставив в них печать "Hello, world" в файл), или же для запуска приложения лучше использовать другой файл? Вроде пока все, поправьте меня, если где-то неверно написано, спасибо за помощь! Артем. |
From: Denis S. O. <den...@gm...> - 2006-09-25 06:52:20
|
T24gOS8yMy8wNiwg0JPQu9C+0YLQvtCyINCQ0YDRgtC10LwgPGdsYXJAaW5ib3gucnU+IHdyb3Rl Ogo+INCjINC80LXQvdGPINC+0L/Rj9GC0Ywg0LLQvtC30L3QuNC6INCy0L7Qv9GA0L7RgSwg0L3Q sCDRjdGC0L7RgiDRgNCw0Lcg0L3QtSDQv9C+INC/0YDQuNC70L7QttC10L3QuNGOCj4gKNC+0L3Q viDQsdC+0LvQtdC1LdC80LXQvdC10LUg0YPRgdGC0LDQvdC+0LLQuNC70L7RgdGMKSwg0LAg0YHQ utC+0YDQtdC1INC60LDQuiDQvtC90L4g0YDQsNCx0L7RgtCw0LXRgi4KPiDQn9GA0LDQstC40LvR jNC90L4g0Y8g0L/QvtC90LjQvNCw0Y4sINGH0YLQviDQt9Cw0L/RgNC+0YHRiyDQsiDRgdC40YHR gtC10LzQtQo+IGFwYWNoZSttb2RfcHl0aG9uK3BwYS9xcHMg0L7QsdGA0LDQsdCw0YLRi9Cy0LDR jtGC0YHRjyDQv9GA0LjQvNC10YDQvdC+INC/0L4KPiDRgdC70LXQtNGD0Y7RidC10LzRgyDQsNC7 0LPQvtGA0LjRgtC80YM6Cj4gMSkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGH0LXRgNC10Lcg 0LHRgNCw0YPQt9C10YAg0LPQtdC90LXRgNC40YDRg9C10YIgaHR0cC3Qt9Cw0L/RgNC+0YEg0L3Q sAo+IHdlYi3RgdC10YDQstC10YAsINCyINGC0LXQu9C1INC30LDQv9GA0L7RgdCwINGE0LjQs9GD 0YDQuNGA0YPQtdGCINC40LzRjyDRgdC60YDQuNC/0YLQsCBzY3JpcHQucHkKPiAyKSB3ZWIt0YHQ tdGA0LLQtdGAINCy0LjQtNC40YIg0Y3RgtC+INC40LzRjyDQuCDQv9GL0YLQsNC10YLRgdGPINCy INGB0LLQvtC40YUKPiDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y/RhSDQvdCw0LnRgtC4INC/0L7Q tNGF0L7QtNGP0YnQuNC5INC+0LHRgNCw0LHQvtGC0YfQuNC6INC00LvRjyDRgdC60YDQuNC/0YLQ vtCyCj4g0YLQsNC60L7Qs9C+INGC0LjQv9CwCj4gMykg0L3QsNGF0L7QtNC40YIg0LTQuNGA0LXQ utGC0LjQstGDIFB5dGhvbkhhbmRsZXIgKNGA0LDQsdC+0YLQsNGO0YnRg9GOINCyCj4g0L7Qv9GA 0LXQtNC10LvQtdC90L3QvtC5INC00LjRgNC10LrRgtGA0L7QuNC4KSwg0L7QvdCwINC40LzQtdC1 0YIg0LLQuNC0Ogo+IFB5dGhvbkhhbmRsZXIKPiBIYW5kbGVyX0ZpbGVuYW1lOjpIYW5kbGVyX0Ns YXNzLmhhbmRsZXJfbWV0aG9kLCDQs9C00LU6Cj4gICAqINGE0LDQudC7IEhhbmRsZXJfRmlsZW5h bWVIYW5kbGVyX0ZpbGVuYW1lLnB5INC00L7Qu9C20LXQvQo+INC90LDRhdC+0LTQuNGC0YzRgdGP INCyINC+0L/QuNGB0LDQvdC90L7QuSDQtNC40YDQtdC60YLQvtGA0LjQuAo+ICAgKiDQsiDRjdGC 0L7QvCDRhNCw0LnQu9C1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQvtC/0LjRgdCw0L0g0LrQu9Cw 0YHRgSBIYW5kbGVyX0NsYXNzLAo+INC40LzQtdGO0YnQuNC5INCyINGB0LLQvtC10Lwg0YLQtdC7 0LUg0LzQtdGC0L7QtCBoYW5kbGVyX21ldGhvZChyZXEsLi4uKSwg0LjQvNC10Y7RidC40LkKPiDQ siDQutCw0YfQtdGB0YLQstC1INC+0LTQvdC+0LPQviDQuNC3INGB0LLQvtC40YUg0L/QsNGA0LDQ vNC10YLRgNC+0LIg0YHRgdGL0LvQutGDINC90LAg0YHRgtGA0YPQutGC0YPRgNGDCj4gaHR0cC3Q t9Cw0L/RgNC+0YHQsAo+IDQpIHdlYi3RgdC10YDQstC10YAgKNGC0L7Rh9C90LXQtSDRg9C20LUg bW9kX3B5dGhvbikg0LfQsNC/0YPRgdC60LDQtdGCCj4g0LjQvdGC0LXRgNC/0YDQtdGC0LDRgtC+ 0YAgUHl0aG9uJ9CwLCDQutC+0YLQvtGA0YvQuSDRgdC+0LfQtNCw0LXRgiDQvtCx0YrQtdC60YIg 0LrQu9Cw0YHRgdCwCj4gSGFuZGxlcl9DbGFzcyDQuCDQstGL0LfRi9Cy0LDQtdGCINCyINC90LXQ vCBoYW5kbGVyX21ldGhvZCwg0L/QtdGA0LXQtNCw0LLQsNGPCj4g0LfQsNC/0YDQvtGBINCyINC6 0LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwCj4gNSkg0LTQsNC70YzRiNC1INC+0LHR gNCw0LHQvtGC0LrQsCDQt9Cw0L/RgNC+0YHQsCDQv9C+0LvQvdC+0YHRgtGM0Y4g0L3QsCDRgdC+ 0LLQtdGB0YLQuAo+IGhhbmRsZXJfbWV0aG9kLCDQvtC9INC80L7QttC10YIg0L/QvtC00LrQu9GO 0YfQsNGC0Ywg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQvNC+0LTRg9C70LgKPiAo0LIg 0YfQsNGB0YLQvdC+0YHRgtC4IHBwYSwgcXBzKSwg0LfQsNGC0LXQvCDQstC+0LfQstGA0LDRidCw 0YLRjCDRgNC10LfRg9C70YzRgtCw0YIg0YDQsNCx0L7RgtGLCj4g0L3QsCDRgdC10YDQstC10YAg KNC90LDQv9GA0LjQvNC10YAsINGH0LXRgNC10Lcg0L/QsNGA0LDQvNC10YLRgCByZXNwb25zZSkK PiA2KSDQsiDQutC+0L3RhtC1INC40L3RgtC10YDQv9GA0LXRgtCw0YLQvtGAINC30LDQutGA0YvQ stCw0LXRgtGB0Y8sINGB0LXRgNCy0LXRgCDQvtGC0YHRi9C70LDQtdGCCj4g0L/QvtC70YPRh9C1 0L3QvdGL0LUg0L7RgiDQvdC10LPQviDQtNCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQ u9GOCgrQndC10L/RgNCw0LLQuNC70YzQvdC+LCDRh9C40YLQsNC50YLQtSDQstC90LjQvNCw0YLQ tdC70YzQvdC+INC00L7QutGD0LzQtdC90YLQsNGG0LjQuCDQuiBtb2RfcHl0aG9uOgpodHRwOi8v bW9kcHl0aG9uLm9yZy9saXZlL2N1cnJlbnQvZG9jLWh0bWwvZGlyLWhhbmRsZXJzLXN5bi5odG1s ClBQQS9RUFMg0LIgbW9kX3B5dGhvbiDQvdC40YfQtdCz0L4g0L3QtSDQvNC10L3Rj9C10YIsINGB 0L7QvtGC0LLQtdGC0YHRgtCy0LXQvdC90L4g0L7QvSDQvdC1INC80L7QttC10YIK0L3QuNC60LDQ uiDQstC70LjRj9GC0Ywg0L3QsCDQtdCz0L4g0L/QvtCy0LXQtNC10L3QuNC1LgoKPiDQldGB0LvQ uCDRjyDQvdC40YfQtdCz0L4g0L3QtSDQvdCw0LLRgNCw0LssINC90LUg0YHQvtCy0YHQtdC8INC/ 0L7QvdGP0YLQvdC+LCDQutCw0Log0YDQsNCx0L7RgtCw0LXRggo+IHdlYi3Qv9GA0LjQu9C+0LbQ tdC90LjQtSwg0L3QsNC/0LjRgdCw0L3QvdC+0LUg0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC4 0LXQvCBwcGEsIHFwczoKPiAxKSDQtdGJ0LUg0LTQsNCy0L3QviDQktGLINC/0LjRgdCw0LvQuCwg 0YfRgtC+INCyINGC0LjQv9C40YfQvdC+0Lkg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IGFwYWNo ZQo+INC00L7Qu9C20L3QsCDQv9GA0LjRgdGD0YLRgdGC0LLQvtCy0LDRgtGMINC00LjRgNC10LrR gtC40LLQsCBQeXRob25IYW5kbGVyCj4gZWRpdDo6aGFuZGxlciwg0LIg0YTQsNC50LvQtSBlZGl0 LnB5INC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRgdGC0YDQvtGH0LrQsCBoYW5kbGVyCj4gPSBI YW5kbGVyLkhhbmRsZXIoRWRpdChzaXRlKSksINGCLtC1LiDRgdC+0LfQtNCw0LXRgtGB0Y8g0L7Q sdGK0LXQutGCINC40LcKPiDRhNCw0LnQu9CwIEhhbmRsZXIucHkg0LrQu9Cw0YHRgdCwIEhhbmRs ZXIg0YEg0L3QtdC60L7RgtC+0YDRi9C80Lgg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCwKPiDRgtC+ 0LPQtNCwINC90LUg0YHQvtCy0YHQtdC8INC/0L7QvdGP0YLQvdC+LCDQutCw0Log0LjQtyDRjdGC 0L7QuSDRgtC+0YfQutC4INGD0LfQvdCw0YLRjCwg0LrQsNC60L7QuQo+INC40LzQtdC90L3QviDQ vNC10YLQvtC0INC+0YLQstC10YfQsNC10YIg0LfQsCDQvtCx0YDQsNCx0L7RgtC60YMg0LfQsNC/ 0YDQvtGB0L7QsiDQuCDQv9C10YDQtdC00LDRgtGMINC10LzRgwo+INGN0YLQvtGCINC30LDQv9GA 0L7RgT8KPiAyKSDQtdGB0LvQuCDQt9Cw0L/Rg9GB0LrQsNGC0Ywg0L/RgNC40LvQvtC20LXQvdC4 0LUgKNGE0LDQudC7IGVkaXQucHkpINGBINC/0YDQtdC00LvQvtC20LXQvdC90YvQvNC4Cj4g0L3Q sNGB0YLRgNC+0LnQutCw0LzQuCwg0YLQviDQvdC4INCyINC80L7QtNGD0LvRjCBTaXRlLnB5LCDQ vdC4INCyIEhhbmRsZXIucHkKPiDRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdC1INC/0LXRgNC10LTQ sNC10YLRgdGPICjQv9GA0L7QstC10YDQuNC7LCDQstGB0YLQsNCy0LjQsiDQsiDQvdC40YUg0L/Q tdGH0LDRgtGMCj4gIkhlbGxvLCB3b3JsZCIg0LIg0YTQsNC50LspLCDQuNC70Lgg0LbQtSDQtNC7 0Y8g0LfQsNC/0YPRgdC60LAg0L/RgNC40LvQvtC20LXQvdC40Y8g0LvRg9GH0YjQtQo+INC40YHQ v9C+0LvRjNC30L7QstCw0YLRjCDQtNGA0YPQs9C+0Lkg0YTQsNC50Ls/CgrQp9GC0L4g0LfQvdCw 0YfQuNGCINC30LDQv9GD0YHQutCw0YLRjCDQv9GA0LjQu9C+0LbQtdC90LjQtSBlZGl0LnB5PyDQ l9Cw0L/Rg9GB0LrQsNGC0Ywg0LrQsNC6PyDQldGB0LvQuCDRh9C10YDQtdC3Cm1vZF9weXRob24s INGC0L4g0YPQv9GA0LDQstC70LXQvdC40LUg0L/QtdGA0LXQtNCw0LXRgtGB0Y8g0L7QsdGK0LXQ utGC0YMsINGD0LrQsNC30LDQvdC90L7QvNGDINCyINC00LjRgNC10LrRgtC40LLQtQpQeXRob25I YW5kbGVyICjQuNC70Lgg0LTRgNGD0LPQvtC5INCw0L3QsNC70L7Qs9C40YfQvdC+0LkpLiDQp9GC 0L4g0LfQvdCw0YfQuNGCINC90LUg0L/QtdGA0LXQtNCw0LXRgtGB0Y8K0YPQv9GA0LDQstC70LXQ vdC40LU/INCV0YHQu9C4IGVkaXQucHkg0LjQvNC/0L7RgNGC0LjRgNGD0LXRgiBTaXRlL0hhbmRs ZXIgLSDRgtC+INC+0L3QuCDQsdGD0LTRg9GCCtC40YHQv9C+0YDRgtC40YDQvtCy0LDRgtGM0YHR jywg0LXRgdC70Lgg0L/QtdGA0LXQtNCw0LXRgiDQuNC8INGD0L/RgNCw0LLQu9C10L3QuNC1IC0g 0LHRg9C00LXRgiDQv9C10YDQtdC00LDQstCw0YLRjNGB0Y8K0YPQv9GA0LDQstC70LXQvdC40LUu INCc0LDQs9C40Lgg0L3QuNC60LDQutC+0Lkg0L3QtdGCLgo= |