Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по Триггеру в MySQL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Оговорюсь сразу, с MySQL не работал совсем, поэтому нужен совет - возможно ли вообще то, что я хочу попытаться реализовать. Преамбула. Для клиента был создан сервер Asterisk на Freepbx 14 под управлением Ubuntu, но возникла потребность получать извещения на почту при пропущенном звонке. Те скрипты, которые работали на FreePBX12 больше не работают на FreePBX14, поэтому было принято решение писать логи звонка в MySQL. Запись логов настроил, тут всё прекрасно, но поскольку никогда не работал с MySQL, то завис на создании Триггеров. В данный момент реализован ужасный костыль, который худо-бедно работает. Из планировщика раз в минуту запускается скрипт со следующими условиями: Код: plsql 1. - Ищем значение ABANDON (которое говорит нам, что звонок не был отвечен и получаем уникальное значение события CallID) и передаем его в переменную Код: plsql 1. - парсим всю таблицу ищем в таблице CallID и EnterQUEUE (вхождение внешнего звонка в очередь) и значение Data2(телефон звонившего) пишем в TXT файл. Код: plsql 1. - запускаем bash скрипт, который проверяет ранее созданный TXT файл и если он не пустой, то содержимое файла копирует в тело письма, отправляет письмо и удаляет TXT файл. Если же файл пустой, то просто удаляет TXT файл. Код: plsql 1. - Полностью удаляем все данные из таблицы В чем собственно проблемы: 1. Если за минуту пропускается более одного звонка, то в таблице присутствует два значения ABANDON, а оба значения в переменную мы передать не можем, поэтому скрипт не отрабатывает и я не узнаю, что за эту минуту вообще были пропущены звонки. 2. Приходится постоянно очищать всю таблицу от старых данных, чего делать не хотелось бы. Какое хочется получить решение: Это написать Триггер, который будет делать тоже самое, что и скрипт выше, но чтобы он запускался при появлении в таблице нового значения ABANDON. Тогда решение будет такое, Триггер мониторит таблицу и при появлении ABANDON, выгружает мобильный в TXT и запускает bash скрипт отправки. Соответственно вопрос - возможно ли это реализовать Триггерами и возможно ли это вообще реализовать средствами MySQL? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 16:49 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39672671&tid=1829732]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 135ms |

| 0 / 0 |
