Предложение по Rejik'у

Обсуждение программы редиректора
Ответить
zabudkin
Сообщения: 11
Зарегистрирован: Пн ноя 08, 2004 9:10
Контактная информация:

Предложение по Rejik'у

Сообщение zabudkin »

Сабж.

Хотелось бы, что Rejik сам перечитывал файлы конфигурации, скажем через указанное количество минут (секунд).

Можно ли это осуществить сейчас?
Делаю
killall redirector
вылетает Rejik и сквид падает :(
2005/11/16 16:38:55| WARNING: redirector #1 (FD 6) exited
2005/11/16 16:38:55| WARNING: redirector #2 (FD 7) exited
2005/11/16 16:38:55| WARNING: redirector #3 (FD 8) exited
2005/11/16 16:38:55| WARNING: redirector #4 (FD 9) exited
2005/11/16 16:38:55| WARNING: redirector #5 (FD 10) exited
2005/11/16 16:38:55| WARNING: redirector #6 (FD 11) exited
2005/11/16 16:38:55| WARNING: redirector #7 (FD 12) exited
2005/11/16 16:38:55| WARNING: redirector #8 (FD 13) exited
2005/11/16 16:38:55| WARNING: redirector #9 (FD 14) exited
FATAL: Too few redirector processes are running
Squid Cache (Version 2.4.STABLE7): Terminated abnormally.
CPU Usage: 5.140 seconds = 3.070 user + 2.070 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 458

Плиз, предложите какие-нибудь варианты.
Lev Zabudkin
http://zabudkin.info

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Попробуйте squid -k reconfigure
кстати, для какой цели это нужно?

zabudkin
Сообщения: 11
Зарегистрирован: Пн ноя 08, 2004 9:10
Контактная информация:

Сообщение zabudkin »

Тоже самое происходит.
А нужно это для следующих целей:
часто появляются страницы, которые нужно перенаправлять на локальные с помощью raw_change.
Каждые 10 секунд (среднее значение) добавляются в конфиг новые строки raw_change. После их добавления нужно, чтобы режик перечитал файл конфигурации.
Может мне что в исходниках поправить?
Lev Zabudkin
http://zabudkin.info

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Давайте отделим мух от котлет, я вижу тут две проблемы:

1. Неправильно рестартует сквид.
Скорее всего где-то что-то с правами не так. Например, при добавлении в конфиг режика новых опций, меняются права на него.

2. Необходима возможность заставить режик перечитывать свои логи каждые дцать секунд.
На самом деле не очень хорошо, с точки зрения производительности, так как старт редиректора процесс ресуркоемкий. И честно говоря, как это изменит пока не представляю, пока могу предложить только через рестарт.

А если копнуть глубже, какие raw_change и для чего добавляются каждые дцать секунд?

zabudkin
Сообщения: 11
Зарегистрирован: Пн ноя 08, 2004 9:10
Контактная информация:

Сообщение zabudkin »

Просто есть сайты, которые очень часто используются по работе, а на них картинки, которые сквид не кеширует.
В режике у меня редирект на скрипт, который скачивает запрошенную картинку, ложит ее на локальный вебсервер и добавляет в конфиг Режика строку raw_change.
Проблема в т ом, что для этой строки стоит ограничение в 100 символов, я в исходниках экспериментальным путем в vars.h повысил значения, всё работает на ура, но часто вижу вот такое:
2005-11-18 12:39:33 [27525] WARNING!
Understand option in config file: raw_change http://www.bankreferatov.ru/referat/pics/htm.gif ... Ignoring
2005-11-18 12:39:33 [27526] WARNING!
Understand option in config file: raw_change http://www.bankreferatov.ru/referat/pics/htm.gif ... Ignoring

Вообщем не суть важно, сейчас всё работает отлично.

У меня просьба, помогите пожалуйста составить prce правило:
дано: domain.ru
нужно, чтобы все gif файлы, независимо от того, в какой папке они находятся (domain.ru/1/, domain.ru/lalal/lala/2 и т.п.) с этого сайта попадали под prce правило.
Lev Zabudkin
http://zabudkin.info

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

наверное domain\.ru\/.+\.gif

хм, а почему сквид не кеширует картинки?
Вроде он для того и нужен

zabudkin
Сообщения: 11
Зарегистрирован: Пн ноя 08, 2004 9:10
Контактная информация:

Сообщение zabudkin »

Не знаю почему не кеширует, я уже и refresh_pattern и header_access использую, бестолку, некоторые кеширует, некоторые нет.

СПАСИБО за pcre правило!

А можно еще одно:
image.что-угодно.ru/что_угодно_папка_или_нет/файл.gif

Я так понял pcre правило будет таким?
image\..+\.ru/.+/.+\.gif
Lev Zabudkin
http://zabudkin.info

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

наверное так
image\..+\.ru\/.+\/.+\.gif

zabudkin
Сообщения: 11
Зарегистрирован: Пн ноя 08, 2004 9:10
Контактная информация:

Сообщение zabudkin »

Спасибо за помощь!
А можно как-нибудь отрицание в pcre задать?
Скажем, как последнее правило:
image\..+\.ru\/.+\/.+\.gif

но чтобы в случае, если встретилось слово word, правило не срабатывало?
Lev Zabudkin
http://zabudkin.info

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

man pcrepattern

Lookahead assertions

Lookahead assertions start with (?= for positive assertions and (?! for
negative assertions. For example,

\w+(?=;)

matches a word followed by a semicolon, but does not include the semi-
colon in the match, and

foo(?!bar)

matches any occurrence of "foo" that is not followed by "bar". Note
that the apparently similar pattern

(?!foo)bar

does not find an occurrence of "bar" that is preceded by something
other than "foo"; it finds any occurrence of "bar" whatsoever, because
the assertion (?!foo) is always true when the next three characters are
"bar". A lookbehind assertion is needed to achieve the other effect.

If you want to force a matching failure at some point in a pattern, the
most convenient way to do it is with (?!) because an empty string
always matches, so an assertion that requires there not to be an empty
string must always fail.

Ответить