![]() |
|
Модераторы: skyboy |
![]()
|
|
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
Я щас только изучаю веб програмирование и возник такой вопрос:
Возможно ли например с помощу тригеров запустить на выполнение пхп скрипт, например когда определеное значение равняетса другому значению? = ) P.S. альтернатива то ли запускать каждую минуту скрипт проверки, то ли с поможу тех же пхп скриптов когда изменякш значение отслеживать ето. Это сообщение отредактировал(а) MisterSER - 12.8.2009, 21:53 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 2 Всего: 37 |
А откуда это значение берется? Из пхп скрипта?
|
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
оба значения записаны в бд, также возможно оба значения ето время, одно когда должен выполнитса, второе текущее, но ето только один из возможних случаев про который я думал спросить потом))) впринципе имелось в виду два обичных числа, которые в одной строчке но в разных "списках" записаны в бд, ну и сверить все строчки = ) Это сообщение отредактировал(а) MisterSER - 12.8.2009, 23:41 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 2 Всего: 37 |
какой смысл сверять их тогда, когда они никому не нужны?
а когда понадобятся, то свериь обычным порядком. мне кажется, тут ни запуск пхп, ни триггеры не нужны |
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
проблема в том, что какраз должны в фоновом режиме выполнятса некоторые действия при некоторых условях = ) вопрос был конкретен, возможно ли это тригерами, ну или другими инструментами MySQL, или даже возможно в других базах, если чесно, то я еще во всем не разобралса и могу плохо шарить Это сообщение отредактировал(а) MisterSER - 13.8.2009, 00:10 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
MisterSER, потенциально это возможно(написание собственной платформозависимой UDF), но я не вижу в подобном смысла. БД - это хранилище данных, а не платформа для реализации логики. А триггеры используются для поддержания логической целосности данных, а не для реализации логики приложения. Это как на PHP писать 3D-игры - потенциально возможно(например, через ming генерировать через флеш, ага), но сильно уступает альтернативным решениям(C/C++, к примеру) и потому никому не интересно.
*телепатический режим включен*если тебе надо сделать планировщик заданий, то CRON давно уже придуман и давно реализован. |
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
с помощу крона можна запускать допустим ежеминутною проверку, про что я писал в "пс" в первом посте)) мне не нужно с поможу тригеров или других инструментов делать махинации с даными, мне просто нужно чтоб при оприделеных условиях запускалса пхп скрипт, который в свою очередь и делает махинации с даными = ) P.S. тоесть с помощу тригеров никак нельзя?) ну там например, запуск приложение(интерпретатора пхп) с параментром пути к скрипту, или что-то в этом роде = ) Это сообщение отредактировал(а) MisterSER - 13.8.2009, 00:23 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
Попробуйте функцию system, хотя я не уверен - вполне возможно, что это функция клиента mysql а не сервера mysqld.
А вообще запускать внешние программы по тригеру - это зло! Вы представляете сколько раз триггер может сработать при обновлении таблицы? И каждый раз будет запускаться новый пхп. 90% - вы можете обойтись встроенными средствами. 99% - вы можете обойтись php + cron и это будет менее затратно. P.S. триггеры в mysql вообще убогие - у них множество ограничений. Например dynamic sql не работает из них. |
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
Вот вы представте, значение одной ячейки должно быть 5, щас оно 0, через 10 мин оно стало 1, еще через 3 мин оно стало 2, через 21 мин стало 3, через 16 мин стало 4, и наконец через 10 мин стало 5. Тут уже должен запуститса скрипт и значение станет опять 0... Поскольку не возможно точно узнать когда оно может стать 5, нужно будет запускать скрипт проверки каждую минуту... итого 61 запуск, а потом еще по одному каждую минуту... Хотя тут можна сделать проще, отслежывать в скрипте, который изменяет это значение... правда есть вероятность что сервер упадет после того, как значение станет 5, но до того, как начнут виполнятса нужные действия ладн, другой лучший пример, но уже со временем. Вот припустим, когда будет 3 часа должен выполнитса скрипт, далее потом припустим в 3:30, потом в 4:44, потом в 4:50... поскольку зарание не известо когда имено надо будет выполнить, прийдетса с помошу крона запускать проверку каждую минуту... а тепер представим что таких ячеек 30-50-200...)) с помощу крона и еже-минутной проверки можна релизовать, без особых проблем неучитовая нагрузку, но рациональней будет использовать встроеные тригеры, если они конечно будут позволять это делать... вот в этом и вопрос = ) также если позволяют, очень желательно детально написать как, с небольшым примером = ) P.S. я вхожу в тот один процент = ) P.S.2 этот вопрос как и теоретический, так и практический)) Это сообщение отредактировал(а) MisterSER - 13.8.2009, 01:51 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
блин.. как говорил один персонаж "держаться больше нет сил" запуститЬсЯ ... выполняться что вы хотите делать по изменению значения ? как альтернатива: напишите триггер, который будет писать в отдельную таблицу | id измененной строки | время изменения | Тогда у тебя будет небольшая таблица. Скрипт по крону - раз в минуту - это не часто. Это не нагрузка. Главное, что бы он не делал тяжелых запросов. Если ячеек не много, то он будет отрабатывать моментально. P.S. кроме того, если вы хотите запускать PHP из mysqld - то он будет запускаться с правами юзера mysql - это может породить проблемы. |
|||
|
||||
| MisterSER |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
Я очень извеняюсь, мой родной язык украинский, а по рус. яз. у меня в школе, увы, было примерно 2 по 5 бальной системе...(( (против руского языка не имею ничего против, просто хз чо так...) (для примера по укр было примерно 4 по 5) (примерно, это потому что у нас 12 бальная система еще раз сори за мою неграмотность, и спасибо за желание помоч при этом = ))
ну я впринципе согласен что это отностельно не большая нагрузка, но все же больше чем теоретически могла быть = )
как я уже говорил, когда значение будет равно или другому значению или текущему времени, то должен выполнитса пхп скрипт, который делает свою фоновою работу = )
это немношко не то что надо...) Это сообщение отредактировал(а) MisterSER - 13.8.2009, 14:45 |
||||||||
|
|||||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 2 Всего: 37 |
А почему нельзя описать реальные данные и реальные операции над ними?
Ведь наверняка задача известная, и имеющая стандартное решение. Если человек "только начинает изучать веб-программирование", то откуда такая тяга к абстрактным задачам? Откуда такая уверенность в исключительности своей задачи ("я вхожу в тот один процент")? На начальном этапе изучения мы часто совсем неправильно представляем себе пути решения. Почему бы не предоставить это специалистам? Зачем эта игра в кошки-мышки? |
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
2Ипатьев, ну наверное почти все возможные пути решение я знаю, и почти все из них я пысал выше. (еще есть варианты делать проверку когда ктото открывает определьоною старицу, ане у фоновом режиме, ног это не подходит = ) )
Просто как писал в первом посту, я не знаю: "Возможно ли например с помощу тригеров запустить на выполнение пхп скрипт?", и если да, то как)) если это не возможно, вполне пододут и другие варианты, как например ежеминутная проверка)) мне просто нужно знать ответ на один вопрос, и если да, то как, альтернативы я и сам знаю)) |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 2 Всего: 37 |
Ну как это "не подходит", если это стандартное решение? Все делают именно так. Никаких проблем с этим нету.
|
|||
|
||||
| MisterSER |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 3.8.2008 Где: Украина, Киев Репутация: нет Всего: нет |
для стандартных условий да, для нестандартных может и нет = ) ___ и давайте ближе к теме, есть же конкретный вопрос вопрос не заключаетса в поиске альтернатив, например с помощу крона)) альтернативы разве что среди встроеных средства бд, если они вообще есть = ) Это сообщение отредактировал(а) MisterSER - 13.8.2009, 15:46 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |