Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Запретить кэширование realtime queue или перезагрузить queue без перезагрузки астериска.

1

Здравствуйте. У меня возникла проблема с тем, что при первом попадании в "realtime" очередь данные об очереди кэшируются и не перегрузив астериска я не могу их изменить не смотря на изменение настроек в базе данных. "Queue reload all" или "module reload app_queue.so" не помогают. Астериск 1.6.2.13, В качестве БД испоьзую postgresql.

удалить закрыть спам изменить тег редактировать

спросил 2011-10-31 09:08:22 +0400

Sevruga Gravatar Sevruga
109 6 1 10

обновил 2011-10-31 09:26:54 +0400

1 Ответ

0

кеширование отключить нельзя, инфа 100% ;)

queue reload вроде работает.

смотрите ваши таблицы. при изменении надо менять парметр uniqueid кажеться. или id, не помню. можно точнее в коде посмотреть. иначе он считает что вы ничего не помняли. вы ж понимаете, что там все написано для больших очередей и максимальной скорости сравнения?

вообще queue и так уровень выше среднего, а с реалтайм не експертам лучше не играться(ну если вы не можете код посмотреть/понять).

есть более простой вариант. можно queues.conf хранить в базе. он очевиднее и проще для не-експерта.

ссылка удалить спам редактировать

ответил 2011-10-31 13:39:32 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2011-10-31 13:41:17 +0400

Comments

Спасибо за информацию про кэширование. Видимо вы имеете в виду "ID" из таблицы описания очередей. Таблица с member-ами ориентируется на "queue_name" насколько я понял из данных для создания таблицы. Тогда кэширование отключать не нужно достаточно заставить его думать что я изменил что-то. Это очень полезная для меня информация, благодарю. Если дадите ссылку где исходный код посмотреть это дела, буду благодарен в двойне. P.S. Ещё queues.conf можно выписать на бумагу ;)

Sevruga ( 2011-10-31 16:06:45 +0400 )редактировать

неа. я говорю про таблицу с мемберами. а вы что САМУ очередь изменяете? азачемпозвольте поинтересоваться? исходный код посмотреть в исходниках астериска. в app/app_queue.c в функциях с постфиксом _rt

meral ( 2011-10-31 19:58:09 +0400 )редактировать

а спасибо тут делаеться нажатием на кнопку вверх возле ответа и выбором правильного ответа в топике ;)

meral ( 2011-10-31 19:59:53 +0400 )редактировать

и, кстати кеширование там нету. там есть интелектуальная замена. он просто проверяет совпадает ли мембер. если считает что да, обновляет. или удаляет. но читает всех мемберов все равно.

meral ( 2011-10-31 20:01:30 +0400 )редактировать

Спасибо за подсказки. Дмуаю дальше лучше код посмотреть...

Sevruga ( 2011-11-01 10:28:11 +0400 )редактировать

Чего-то страдает интеллектр у него помоему... если есть желание понервничать то можно положиться на интеллектуальную замену. Если нет, то надо удалять и добавлять мембера по новой, по моему так проще и вернее. Если чудо интеллект не обновит то "Queue reload all" не помогает, как я в начале и писал. Естес твенно новые добавляемые мемберы прекрасно прочтутся.

Sevruga ( 2011-11-01 16:08:20 +0400 )редактировать

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

meral ( 2011-11-01 16:21:39 +0400 )редактировать

Если я сделаю UPDATE и вместо SIP/1234 укажу local/1234@context он ничего не сделает потому что тот же пользователь остался. Проверьте.

Sevruga ( 2011-11-02 08:52:31 +0400 )редактировать

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

meral ( 2011-11-02 16:21:47 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-10-31 09:08:22 +0400

Просмотрен: 1,483 раз

Обновлен: Oct 31 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.