Запуск python, Php, ruby или Javascript с помощью изменения базы данных mysql

#mysql #windows-server

#mysql #windows-server

Вопрос:

Как я могу убедиться, что определенные изменения в базе данных запускают скрипт? Я использую Windows server и mysql, и я могу использовать woocommerce api.

Комментарии:

1. Что это за скрипт? Скрипт базы данных, скрипт Windows …? База данных может иметь «триггеры», которые выполняют хранимые процедуры, но это больше похоже на то, что вы хотите, чтобы что-то происходило вне базы данных, и в этом случае вам, вероятно, просто нужно время от времени запрашивать базу данных и действовать в соответствии с найденными изменениями.

2. Речь идет о запуске файла, который работает как api для woocommerce. Таким образом, запуск cmd с помощью -> python (path) argument1 argument2 выполнит эту работу. Лучшим вариантом будет немедленный запуск после внесения изменений.

Ответ №1:

На самом деле в архитектуре реляционной базы данных не предусмотрено, чтобы база данных сообщала другим программам, что происходит в базе данных. Триггеры MySQL могут вносить изменения в базу данных — например, обновлять одну таблицу каждый раз, когда происходит вставка в другую таблицу. Но они не вызывают внешние программы.

Я думаю, что здесь у вас в основном есть два варианта.

  1. Что бы ни вносило изменения в ваши данные, пусть эта вещь также запускает скрипт, который вы хотите запустить.
  2. Пусть ваш скрипт запрашивает базу данных каждые 5 минут (или даже каждые 1 минуту) и реагирует на изменения. Вы можете найти изменения, создав столбец, который сообщает вам, когда строка была обновлена в последний раз, и используя в вашем скрипте временную метку; или создав столбец, который отмечает строки, когда они были обработаны вашим скриптом (немного надежнее).