CLOSED Mod_Perl Можно ли все-таки перезапустить интерпретатор?

Amorsita

Всем доброго времени суток!
У меня есть вопрос, который мучает уже давно, но никак не решается.
Я написала сайт на досуге. Написала его в связке Perl+MySql. Я на нем только училась, и сейчас продолжаю учиться.
Вообщем проблема такая. Загрузила я его на хостинг, а там поддерживается только режим mod_perl. Прочитала про него много хорошего, но так никгде и нашла, как же перезапустить интерпретатор.
Если простым языком, мне надо, чтоб Perl при запуске скрипта обновлял данные селектов, а не вытаскивал все тупо из памяти. Людей, которые каждый раз нажимают на «Обновить» очень мало, а по другому изменений не видно.
На сайте работает Форум, для которого такие нюансы критичны. При создании сообщения, например, ответа в теме, своего сообщения не видно если не обновить страницу.
Подскажите если кто знает, как с этим бороться.
Насколько я поняла, mod_perl используется у большинства хостеров, так как он снижает нагрузки на сервер. Т.е. бежать к другому хостеру не выход. Есть какие-нибудь решения моей проблемки?
Заранее спасибо за ответ!

Amorsita

Вот ссылка www.youruniver.ru

okis

Подскажите если кто знает, как с этим бороться.
Пробовали задавать заголовки, например, Expires?

Amorsita

Нет, не пробовала... Сейчас почитаю про них. Должны помочь?

okis

Да, страница будет загружаться не из кеша, а с сервера каждый раз.

ava3443

как же перезапустить интерпретатор
по-моему вы не должны этого хотеть.
в документации написано что сигналы USR1 и HUP не перегружают mod_perl, следовательно остаётся лишь перезапускать весь apache httpd, что по-моему не соответствует задаче "обновить данные".

apl13

Йо, ма! Че ты делаешь на этом сраном форуме? :ooo:

Amorsita

Да, страница будет загружаться не из кеша, а с сервера каждый раз.
Вставляю вот такой кусок в код:
print "Content-type: text/html\n\n";
print "Expires: Mon, 26 Jul 1997 05:00:00 GMT\n";
print "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT";
print "Cache-Control: no-cache, must-revalidate\n";
print "Pragma: no-cache\n";
Загружает все равно из кеша...
:(

okis

Там как-то странно. Залогиниться в форум мне не удалось, например. Для страницы contact_us.shtml:
Date:Tue, 16 Nov 2010 11:16:17 GMT
Expires:Tue, 16 Nov 2010 11:31:17 GMT (это время не из прошлого, сейчас ещё нет половины третьего).

Amorsita

Пользователь создался. Глюки со входом, насколько я понимаю, с этими обновлениями связаны.
Я экспериментирую на другом сайте. Боюсь этот онлайн трогать
А где можно даты expires посмотреть? Пардон :)

okis

В любом нормальном браузере есть инструменты отладки. Для firefox это firebug, для chrome — встроенный отладчик. В нём, например, можно зайти в resources → <имя страницы> → headers, там все заголовки. Открывается он по Ctrl+Shift+I.

Amorsita

Не нашла
Добавила строчку <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
на все страницы сайта. Судя по скорости обновления страницы, вроде бы получилось )
Спасибо большое!
Думаю, оставлю этот заголовок только на форуме, чтоб казусов меньше было. А остальное пусть кешируется.

Amorsita

Вообщем ничего не получилось.
В настройках своего Експлорера я ставила "Обновлять с сервера" галочку. Ее убрала и опять то же недоразумение.
Есть еще идеи плиз? :confused:

pilot

Есть какие-нибудь решения моей проблемки?
Есть. Не надо использовать Perl.

Amorsita

Есть. Не надо использовать Perl.
Была у меня такая идея..
А на чем, на PHP что ли писать?

okis

В настройках своего Експлорера
в других браузерах работает?

okis

Есть. Не надо использовать Perl.
Почему? Для проекта одного человека — нормальный выбор. Главное, конечно, понимать, как это работает.

Amorsita

в других браузерах работает?
Не, в Мозилле тоже не работает..

pilot

А на чем, на PHP что ли писать?
Зависит от того зачем ты в принципе пишешь программки, чего этим добиться хочешь.
Если домашние странички, то PHP.
Если профессионально делать сайты, то RoR/Python.
Если делать системы для пользователей с веб-интерфейсом, то Python.
Если ПО для Enterprise то всякие Java/Sharepoint/.NET и дургие страшные слова.
Perl загибается потихоньку. В крупных компаниях типа Yandex-Rambler давно уже проблема найти Perl-программиста, никто не хочет читать код на этом языке, все готовы разве что его писать (write-only :-) )
То есть на мой взгляд учить его незачем. бесперспективно.

Amorsita

Ура!
Вроде как заработало с загловками!
Спасибо большое за помощь! А то даже не знала где рыскать.
Вообщем, вот при таких заголовках заработало:
print "Pragma: no-cache\n";
print "Cache-Control: no-cache\n";
print "Expires: Thu Jan 1 00:00:00 1970\n";
print "Content-type: text/html\n\n";
Оставить комментарий
Имя или ник:
Комментарий: