| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > держать соединение с MySQL |
| Автор: gcc 8.9.2008, 15:30 |
| есть программа PowerDNS на С++ (и другие postfix) там всегда держиться одно соединение с СУБД, как только добавляется что-то в таблицы (или изменяется, или удаляется) , то программа сразу реагирует... как это называется? в perl это можно сделать? |
| Автор: sir_nuf_nuf 8.9.2008, 16:08 |
| gcc, ничего не понятно... Если вам нужно поддерживать соединение с БД - то вариантов куча. Зависит от того, что у вас за программа: если просто скрипт - то достаточно создать соединение и не разрывать его (делать Ping иногда) если mod_perl скрипт - то есть Apache::DBI если CGI скрипт - то никак. ибо каждый раз - новый процесс запускается. Если вы хотите получать уведомления об изменениях в базе данных - думаю такого нет (я не прав ?) Вам нужно самому время от времен обращаться к БД - что бы узнать изменения |
| Автор: gcc 8.9.2008, 16:19 |
| ну postfix держит соединение всегда (по крайней мере так видно) если я добавлю что-то в таблицу, он создает каталог сразу же (почтовые письма туда будет складывает), если я изменю в таблице, то он изменяет каталог с доменом или катлог с почтовым ящиком, и удаляет так же... (или я перепутал всё? но именно так и работает, или синхронизирует что ли с дампом как-то?) удобно было если это так можно сделать... |
| Автор: ginnie 8.9.2008, 16:30 |
| Коллеги, похоже на разговор разработчика с заказчиком gcc, можно задавать конкретные вопросы? Для информации, postfix не разрывает соединение с БД только при использовании специального proxy-модуля. При каждом действии выполняются необходимые запросы к БД, поэтому все изменения в БД корректно обрабатываются. Какой именно функционал нужен Вашей программе и что это за программа (sir_nuf_nuf, варианты уже описал)? |
| Автор: sir_nuf_nuf 8.9.2008, 16:34 |
| gcc, ага понял. варианта 3 1) ваше приложение (типа демона postfix) запущено постоянно и раз в секунду (минуту..) делает запрос к БД. Соответственно синхронизует таблицы и свои структуры данных 2) вы пишете UDF для mysql (самодельная функция), которая при будет отправлять запросы вашему приложению, например через TCP/IP. А на все интересующие вас события (например вставка в таблицу) вешаете тригер, который вызывает эту функцию, которая обращается к вашему приложению, которое делает все что нужно =) 3) возможно существует какая - то фичча, встроенная в протокол БД, когда БД сама обращается к клиенту. Но это МАЛОВЕРОЯТНО. Никогда про такое не слышал.. |
| Автор: gcc 8.9.2008, 16:37 | ||||
| 1) давно хотел узнать именно про это, потому что хотел сделать конфиг apache22 в бд, то есть чтобы конфигурировать именно из БД для удобства. Если это делать в самой прогармме взамен текстовых файлов, то нужно пол apache22 переписывать и всё его модули... (этого нету ни где) (потом передумал) 2) самое главное хотел, вообще-то, создавать аккаунты на сервере, то есть читать с таблицы и создавать так же как и postfix ... думаю что этот вариант будет хорший
второй пункт - это и есть конкретный вопрос...
это только proxy-модуль это делает? если нет, то как это называеться? чтобы найти в гугле, а то не знаю что искать, если конечно получиться хоть что-то... |
| Автор: gcc 8.9.2008, 21:36 |
| про прокси я ничего не нашел... |
| Автор: ginnie 9.9.2008, 11:24 |
| Уважаемый gcc, про proxy-модуль я писал по памяти. Сейчас посмотрел http://www.postfix.org/MYSQL_README.html, там написано, что "сильнонагруженные почтовые сервера, использующие mysql maps создают достаточно много параллельных соединений к СУБД. Их количество можно уменьшить, используя модуль Postfix proxymap." Следовательно proxymap создает пул соединений с СУБД, и раздает их процессам postfix, к Вашей теме это отношения не имеет. Не могли бы Вы пояснить, зачем нужно хранить конфигурацию web-сервера в БД? Мне такое в голову пока не приходило. |
| Автор: gcc 13.9.2008, 10:17 | ||
Уважаемый ginnie, зачем хранить таблицу в текстовых файлах? или зачем тогда сделали возможность использование СУБД в DNS, Samba, почта, PAM, ftp, etc? для удобства изменения таблицы конфигов вообще-то... если бы была возможность быстро это сделать, а так половину apache22 и все его моды надо переписывать |
| Автор: ginnie 15.9.2008, 12:43 |
| Уважаемый gcc, не погли бы Вы пояснить в чем для Вас удобство изменения конфигурации в БД по сравнению с текстовым файлом конфигурации? |
| Автор: gcc 15.9.2008, 12:46 |
| Уважаемый ginnie, управлять с помощью веб-скрипвто, уже это не надо, я просто так написал (думал чтобы удобно было, вообще-то сайтов штук 40) ЗЫ кстате, где-то нашел что apache13 со всеми директивами может работаеть с MySQL и SQLite |