Уведомления

Группа в Telegram: @pythonsu

#1 Июль 1, 2010 16:34:41

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

Запускаю скрипт типа helloworld под mod_wsgi. Выполняется. Вношу небольшие изменения, обновляю страницу, изменений нет.
Ладно, дописываю в url дополнительный произвольный параметр. Изменения появляются. Значит, есть какое-то кэширование.

Пытаюсь читать документацию к mod_wsgi. Там много написано про режим, что mod_wsgi может работать в embedded или daemon режиме. Что в разных режимах перезагрузка происходит по разному. Сделал вывод, что мне надо, чтобы скрипт работал в режиме embedded.

Выставил настройки в sites-available:

WSGIScriptReloading On
WSGIReloadMechanism Module
не помогает. Значит, не понял, что делаю.



Офлайн

#2 Июль 1, 2010 17:17:48

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

touch run_file.wsgi

Офлайн

#3 Июль 1, 2010 17:49:32

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

и что мне с этим “run_file.wsgi” делать?



Офлайн

#4 Июль 1, 2010 18:47:45

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

А покажиите весь конфиг и скрипт.



Офлайн

#5 Июль 2, 2010 10:55:31

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

<Directory /var/www/dev_python/wsgi>
Options ExecCGI
AddHandler wsgi-script .py
WSGIScriptReloading On
WSGIReloadMechanism Module
DirectoryIndex index.html index.py
PythonDebug On
Order allow,deny
Allow from all
</Directory>



Офлайн

#6 Июль 2, 2010 11:04:38

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

# -*- coding: utf-8 -*-

from wsgilog import log
import sys
@log(tohtml=True, tostream=True, toprint=True)
def application(environ, start_response):
status = '200 OK'
output = str( sys.path )

response_headers = [('Content-type', 'text/html')]
#('Content-Length', str(len(output)))]

start_response(status, response_headers)
return output
запускаю один раз - работает. комментирую строку import sys, запускаю - возникает ошибка.
раскомментирую строку. запускаю, - ошибка осталась.
<type ‘exceptions.NameError’>: global name ‘sys’ is not defined
args = (“global name ‘sys’ is not defined”,)
message = “global name ‘sys’ is not defined”



Офлайн

#7 Июль 2, 2010 11:07:03

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

или вот так, если делать другую ошибку:

9 a = 1/0
10 response_headers =
11 #('Content-Length', str(len(output)))]
a undefined

<type ‘exceptions.ZeroDivisionError’>: integer division or modulo by zero
args = ('integer division or modulo by zero',)
message = ‘integer division or modulo by zero’



Офлайн

#8 Июль 2, 2010 11:24:22

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

slav0nic
touch run_file.wsgi
прочитал про touch.
извините, что сразу вас не понял. я всегда думал, что touch создаёт файл, а он оказывается меняет время обновления файла.

но я попробовал использовать эту комманду, у файла время меняется, а закэшированная ошибка остаётся



Офлайн

#9 Июль 2, 2010 15:02:44

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

mod_wsgi: кэширование данных

попробуй такой конфиг апача, он у меня стабильн работает

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version