запустить процесс от вставки строки MySQL - PullRequest
3 голосов
/ 13 мая 2009

Мне нужно запустить процесс на стороне сервера от вставки строки mysql. Буду признателен за некоторые отзывы / предложения. Пока я могу придумать три варианта:

1-й (наименее привлекательный): мое предварительное понимание состоит в том, что я могу написать своего рода «пользовательский триггер» на C, который может запустить вставку строки. В дополнение к необходимости обновить мои навыки C, это потребовало бы (кастом?) Перекомпиляции MySQl ... yuck!

2-й (немного более привлекательный): я мог бы запланировать на стороне сервера задач cron программу, которую я пишу, которая будет периодически запрашивать в таблице новые строки. Преимущество этого заключается в том, что они не зависят от БД и языка. Проблема в том, что я страдаю от задержки расписания cron.

3-й (вариант, которым я руководствуюсь): я мог бы написать многопоточную программу, которая запрашивала бы таблицу на предмет изменений в одном потоке, создавая новые потоки для обработки вновь вставленных строк по мере необходимости. Это дает все преимущества варианта 2 с меньшей задержкой.

Я также упомяну, что для этой задачи я склоняюсь к python, поскольку легкий доступ к системным (linux) командам, а также к некоторым сценариям perl для дома будет очень и очень полезен.

Буду признателен за любые отзывы / предложения

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 13 мая 2009

Запись триггера вставки, который дублирует вставленные строки во вторичную таблицу. Периодически опрашивать вторичную таблицу на наличие строк с внешним приложением / cronjob; если в таблице есть какие-либо строки, удалите их и выполните обработку (или установите флаг «обработка началась» и удалите только из дополнительной таблицы после успешной обработки).

Это очень хорошо подойдет для низких и средних объемов вставок. Если у вас есть тонна данных, приходящих к вашей таблице, какой-то пользовательский триггер в C, вероятно, ваш единственный выбор.

0 голосов
/ 13 мая 2009

У меня была эта проблема около 2 лет назад в .NET, и я пошел с 3-го подхода. Однако, оглядываясь назад, я задаюсь вопросом, не является ли изучение триггеров с PhpMyAdmin & MySQL подходом, который нужно изучать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...