Ожидание события из-за обновления базы данных

0

Я использую базу данных MYSQL как форму хранилища данных IPC между веб-клиентом и процессом кода C на Debian linux. Когда веб-клиент записывает некоторые данные в базу данных mysql с помощью php script, мне нужно, чтобы приложение C-кода отправлялось и записывало эти данные.

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

Спасибо

Теги:

2 ответа

0
Лучший ответ

То, что вы пытаетесь сделать, немного громоздко, но оно может работать.

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

trigger будет вызывать пользовательскую функцию (UDF), которая в свою очередь будет сигнализировать ваш код C для начала обработки недавно вставленные данные.

Вам даже не нужно писать свой собственный UDF. Вы можете использовать sys_exec из lib_mysqludf_sys для выполнения внешней программы.

0

просьба представить весь сценарий. Я предполагаю, что вы можете использовать СОБЫТИЯ в сочетании со таблицей (для флагов) для достижения такой функциональности. Я работаю над подобной проблемой. Если бы вы могли предоставить подробное описание, это может быть полезно. В моем случае у меня есть триггер, который устанавливает флаг для определенных записей в одной таблице для обновления и включает планировщик событий, а затем события обновляют отмеченные записи и отключает планировщик событий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню