Сведения о вопросе

Oleksandrop

19:44, 1st August, 2020

Теги

MySQL    

MySQL+ выполнение внешних команд при определенных событиях, возможно?

Просмотров: 301   Ответов: 3

Если вкратце есть комерческий пхп-скрипт в код которого вмешатся нельзя(zend), но нужно добавить небольшой функционал. Вот возникла идея написать скрипт( на питоне например) добавляющий нужный функционал и запускать его когда основной скрипт вносит данные в БД. Потому и возник вопрос возможно ли в mysql повесить выполнение команды на insert/update в определенную таблицу, в идеале с передачей некоторых значений из добавленных данных в качестве параметров скрипту?

В бд будут добавлятся записи с определенным описанием контента в папках фс и линк на эти папки, скрипт же должен создавать определенный файл-отчет на основании контента папки и сохранять его в корне этой папки.

Ну и доп вопрос — сколько примерно такая доработка может стоить?



  Сведения об ответе

screen

08:23, 21st August, 2020

как говорили выше, можно обвесить интересующие вас таблицы триггерами, собирать с их помощью необходимые для скриптов данные и заполнять ими отдельную таблицу, эдакий «планировщик» для внешнего скрипта, который по крону будет забирать задания и формировать необходимые отчеты. если решение с «планировщиком» и кроном не подходит и требуется «риалтайм» копайте в сторону «external stored procedure» на сях они пишутся начиная с 3-й, емнип, версии, а для более свежих можете попробовать подходящий плагин отсюда External Language Stored Procedures, с их помощью можно писать на языках отличных от C (Java, Perl и кое-что другое), правда работает оно загадочно и если есть возможность, то лучше писать по старинке на сях без всяких дополнительных плагинов.


  Сведения об ответе

SILA

12:33, 4th August, 2020

Есть «триггеры», возможно это вам подойдет. Погуглите «триггеры MySQL», информации по этой теме много даже на русском.


  Сведения об ответе

LAST

09:57, 27th August, 2020

Если за коммерческий скрипт уплачено — то свяжитесь с их саппортом, они обязаны Вам помочь. Если не уплачено — дезендер :)


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться