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

queue log data

0

Потребовлось писать события очереди в базу, создал таблицу

+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| time      | varchar(50)      | NO   |     | NULL    |                |
| callid    | varchar(32)      | NO   |     | ""      |                |
| queuename | varchar(100)     | NO   |     | ""      |                |
| agent     | varchar(100)     | NO   |     | ""      |                |
| event     | varchar(100)     | NO   |     | ""      |                |
| data      | varchar(100)     | NO   |     | ""      |                |
| data1     | varchar(100)     | NO   |     | ""      |                |
| data2     | varchar(100)     | NO   |     | ""      |                |
| data3     | varchar(100)     | NO   |     | ""      |                |
| data4     | varchar(100)     | NO   |     | ""      |                |
| data5     | varchar(100)     | NO   |     | ""      |                |
+-----------+------------------+------+-----+---------+----------------+

При отсутствии столбца data, выдавал ошибки. Теперь туда пишет параметры разделенные через | . Как то можно сдлеать чтобы писал по столбцам? И второй вопрос можно ли в столбец time не писать значения после точки, а то сейчас пишет в формате 2014-03-24 16:53:25.909303 ?

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

спросил 2014-03-24 13:32:42 +0400

unknown Gravatar unknown
179 23 1 9

Comments

А кто Вам мешает парсить данные до того, как в БД записать?

zzuz ( 2014-03-24 15:27:35 +0400 )редактировать

это встроенная система. не получится. зачем пложить костыли, есть же вменяемые настройки.

meral ( 2014-03-24 15:54:35 +0400 )редактировать

1 Ответ

0

там есть неочевидные моменты

1) extconfig.conf надо разрешить(вы наверно сделали)

2) logger.conf

queue_log_to_file = yes
queue_adaptive_realtime = yes

3) таблица должна быть вот такая.

CREATE TABLE `queue_log` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `time` char(26) default NULL,
  `atime` datetime default NULL,
  `callid` varchar(32) NOT NULL default '',
  `queuename` varchar(32) NOT NULL default '',
  `agent` varchar(32) NOT NULL default '',
  `event` varchar(32) NOT NULL default '',
  `data1` varchar(100) default '',
  `data2` varchar(100) NOT NULL default '',
  `data3` varchar(100) NOT NULL default '',
  `data4` varchar(100) NOT NULL default '',
  `data5` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `queue_log_get` (`atime`),
  KEY `queue_log_get2` (`atime`,`event`)
) ENGINE=InnoDB

4) надо триггер на эту таблицу как минимум который выставит правильно atime. ибо если сделать time типа datatime то какаята ерунда получается. тригер уже непубличный. у всех проектов разный, он же разбирает результаты. сами подумайте.

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

ответил 2014-03-24 15:54:01 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Comments

Спасибо, в принципе все так и сделано и почему то за ночь он одумался и решил разбивать data на data1 data2 и т.д. Насчет тригера спасибо за подсказку.

unknown ( 2014-03-25 05:22:09 +0400 )редактировать

перегружать надо после смены extconfig.conf и reload после logger.conf

meral ( 2014-03-25 14:23:17 +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 ленту новостей

Статистика

Задан: 2014-03-24 13:32:42 +0400

Просмотрен: 526 раз

Обновлен: Mar 24 '14

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