Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Автоматическая проверка таблицы сервером MySQL
Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009
Помог: 0 раз(а)
Есть БД , которую надо проверять через какой то промежуток времени.
Можно ли сделать так, что бы сервер БД (MySQL) автоматически проверял строки в конкретной таблице и удалял из неё только те , которые не обновлялись там больше, например, 15 минут ? Это надо для проверки пользователя на "пребывание на сайте" после аутентификации.
Вездеход
Отправлено: 12 Апреля, 2009 - 09:18:16
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
aldan8
а зачем вам такое?
человек когда заходит - у него пусть выполняется запрос обработки, и тем самым обновятся статусы...
кешировать наверно тоже тут уместно
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
EuGen
Отправлено: 12 Апреля, 2009 - 22:39:03
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Конкретно для этой задачи: cron+php скрипт
А вообще, пользователя можно считать неактивным по прошествии таймаута.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
aldan8
Отправлено: 13 Апреля, 2009 - 01:19:24
Новичок
Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009
Помог: 0 раз(а)
Вездеход
Это должна быть не зависимая от сценария процедура, т.е. если "вошедший" пользователь не переходит по ссылкам сайта в течении 15 мин. то "система" считает , что он покинул сайт(без выхода из него, типа не нажал на ссылку "Выход" ) и автоматически стирает из таблицы его IP-адрес. ( когда пользователь аутентифицируется , его IP и др. соотв-я инф-я заносится в эту таблицу , что бы сценарий второй раз не потребовал бы аутент-ию).
EuGen
Вот это, наверное , мне и надо. А можно по подробнее как это делается (в общих чертах).
Я новичок в этом деле , знаю есть 2 способа - этот (серверный) и на стороне клиента, типа куки, сессии и т.д. Хотелось бы изучить пока этот метод, т.к. он считается более безопасным.
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Тебе же уже написали, как реализовать. Помимо информации о пользователе, должно быть ещё 1 поле - время, когда человек совершил какое-то действие на сайте (переход на страницу). Создашь php-файл, который бы смотрел на это поле и все значения, меньше порогового, удалял бы. Этот скрипт ты сохраняешь, а в кроне настраиваешь вызов (раз в 5, 10 - скок надо, минут). Это если тебе нужна именно такая логика, но мне она кажется не очень удачной.
aldan8
Отправлено: 13 Апреля, 2009 - 13:35:30
Новичок
Покинул форум
Сообщений всего: 58
Дата рег-ции: Февр. 2009
Помог: 0 раз(а)
Stierus пишет:
Тебе же уже написали, как реализовать. Помимо информации о пользователе, должно быть ещё 1 поле - время, когда человек совершил какое-то действие на сайте (переход на страницу). Создашь php-файл, который бы смотрел на это поле и все значения, меньше порогового, удалял бы. Этот скрипт ты сохраняешь, а в кроне настраиваешь вызов (раз в 5, 10 - скок надо, минут). Это если тебе нужна именно такая логика, но мне она кажется не очень удачной.
Спасибо, Stierus. Этот "механизм", скорее всего, мне и нужен был.
Насчёт ещё 1-го поля с датой последнего перехода по ссылке, естественно , подразумеваеться что она есть(а иначе, как и откуда брать время для проверки )
Осталось, только разобрать, что такое крон и как он работает. Да, если не трудно, объясни, пожалуйста, почему тебе кажется не очень удачной эта логика.
Stierus
Отправлено: 13 Апреля, 2009 - 15:24:04
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
потому что необходим скрипт, что-то проверяющий в промежутки времени. Я бы делал сразу выборку в скриптах с условием, что пользователь был активен за такое-то время и запускал бы механизм сборки мусора (с вероятность 1%. например, запускать скрипт, чистящий просроченые записи)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.