[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запись в файл на определенное время
Skesh
Скажите возможно ли организовать запись в файл на определенное время, или в SQL? Скажем нужно записать данные переменной на 20 мин., после чего они должны быть автоматически уничтожены. Это возможно организовать?



Спустя 6 минут, 5 секунд (22.03.2011 - 21:05) sergeiss написал(а):
Пишешь в БД запись с указанием времени. Когда разница с текущим временем превышает 20 минут, то записи уже не используешь и можешь удалить.

Так что ответ на твой вопрос: да, можно организовать smile.gif

Спустя 38 минут, 42 секунды (22.03.2011 - 21:43) Skesh написал(а):
Ммммм, не совсем понял, то есть в отдельную ячейку записаваем как значение время, тогда сверяемся и если не совпадает - удаляем? Нет не подходит. Нужно чтобы автоматом все было. Зашел пользыватель, вел даные, ушел, через 20 мин. автоматом все удалилось, так можна?

Спустя 5 минут, 46 секунд (22.03.2011 - 21:49) Invis1ble написал(а):
можно, напиши скрипт и запускай его кроном. Имхо, так.

Спустя 5 минут, 44 секунды (22.03.2011 - 21:55) Skesh написал(а):
А средствами PHP?

Спустя 5 минут, 15 секунд (22.03.2011 - 22:00) Snus написал(а):
Skesh
Цитата (Skesh @ 22.03.2011 - 18:55)
А средствами PHP?

Тебе же Invis1ble ответил. Если хочешь автоматом (без участия человека) - то только крон. В любом другом случае скрипт кто-то запускать должен.

Спустя 2 минуты, 6 секунд (22.03.2011 - 22:02) sergeiss написал(а):
Invis1ble - тут даже крон не нужен. Можно использовать пользовательские скрипты smile.gif Чтобы они и выбирали данные менее 20 минутного возраста, и удаляли сразу же те, которые старше 20 минут.

Skesh - объясни, что ты имеешь ввиду под словами "средствами ПХП"? Если ты работаешь с БД, то ВСЁ БЕЗ ИСКЛЮЧЕНИЯ делается в БД!!! Любой код в ПХП только или готовит запрос, или получает данные выборки. Но вся обработка производится внутри БД.

Судя по вопросу, ты с БД пока не работал. Верно? wink.gif Тогда начни работу с БД, оно тебе пригодится. А там уже в процессе поймешь, что я имел ввиду.

Snus - не будь столь категоричен насчет "только крон" smile.gif

Спустя 22 минуты, 28 секунд (22.03.2011 - 22:25) Skesh написал(а):
Признаю, в БД я пока познал основы. sergeiss Позвольте уточнить про пользовательски скрипты: имется ввиду, что когда одинпользователь ушел, то всеравно рано или позно кто-то зайдет насайт, и начнет клацать, и запускать скрипты, туда и добавить код который будет проверять время, и удалять данные, я правильно понял?

Спустя 4 минуты, 59 секунд (22.03.2011 - 22:30) sergeiss написал(а):
Skesh - да, именно так. Прямо перед тем, как данные выбирать для очередного юзера, сделай удаление старых данных.
Если запросы идут хотя бы раз в несколько секунд, то можно придумать систему, позволяющую не при каждом обращении удалять. Потому что нужные тебе данные (моложе 20 минут) ты и так выберешь, а вот удалять столь часто смысла нету. Да и столько частое удаление будет сильно (и не по делу) нагружать БД.

Спустя 23 часа, 1 минута, 18 секунд (23.03.2011 - 21:31) Skesh написал(а):
Спасибо всем за советы, вынес много полезного.

Спустя 13 часов, 55 минут, 47 секунд (24.03.2011 - 11:27) Snus написал(а):
sergeiss
Цитата
Snus - не будь столь категоричен насчет "только крон" smile.gif

Это ведь был совет как поступить Автору темы, а не обсуждение планировщиков и их кол-во. Есть стандартные варианты решения поставленных задач и выдумывать в данном случае велосипед - глупо.
Цитата
Можно использовать пользовательские скрипты smile.gif Чтобы они и выбирали данные менее 20 минутного возраста, и удаляли сразу же те, которые старше 20 минут.

Я тебя правильно понял? - ты предлагаешь, чтобы выполнять скрипт удаления когда юзер зайдет на страницу? - это же не правильно. А если большая посещаемость - к чему лишние нагрузки на мускул? Когда это легко и просто может сделать крон всего 1 раз в некоторый период времени. (в смысле запустить скрипт удаления).

Спустя 23 минуты, 7 секунд (24.03.2011 - 11:50) sergeiss написал(а):
Цитата (Snus @ 24.03.2011 - 12:27)
ты предлагаешь, чтобы выполнять скрипт удаления когда юзер зайдет на страницу? - это же не правильно

О том, как это обойти, я написал еще позавчера:
Цитата (sergeiss @ 22.03.2011 - 23:30)
Если запросы идут хотя бы раз в несколько секунд, то можно придумать систему, позволяющую не при каждом обращении удалять.

"Можно придумать" не означает, что это сложно smile.gif Я думаю, что ТС сам сообразит, как именно реализовать.

Цитата (Snus @ 24.03.2011 - 12:27)
и выдумывать в данном случае велосипед - глупо

Это вовсе не новый велосипед... А один из двух. Ибо крон - это один велосипед, а запуск внутреннего обработчика при пользовательском обращении - это второй велосипед.

Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений? Второй подход позволяет это обойти, легко и изящно.

Крон же полезен тогда, когда надо что-то делать строго периодически. Например, загружать какие-то данные с некоторых серверов. Например, статистику в БД закачивать. Тут да - крон просто необходим.

Спустя 29 минут, 44 секунды (24.03.2011 - 12:20) Snus написал(а):
sergeiss
Я писал:
Цитата
А если большая посещаемость - к чему лишние нагрузки на мускул?

А вот ты написал:
Цитата
Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений?


Если посещаемость в 2-3 человека в сутки, то делать такой проект - НЕТ СМЫСЛА.

Спустя 44 минуты, 44 секунды (24.03.2011 - 13:04) sergeiss написал(а):
Цитата (Snus @ 24.03.2011 - 13:20)
sergeiss
Я писал:Цитата
А если большая посещаемость - к чему лишние нагрузки на мускул?

А вот ты написал:Цитата
Проблема крона - зачем его запускать для удаления данных, да еще и часто, если в какой-то период будет мало обращений?

Если посещаемость в 2-3 человека в сутки, то делать такой проект - НЕТ СМЫСЛА.



Snus - не передёргивай smile.gif Про большую посещаемость я уже 2 раза написал. Один раз 22-го марта, другой раз процитировал свои же слова сегодня.
А тут ты берешь свои слова "об одном", мои слова "о другом" и противопоставляешь их.

Еще обрати внимание на то, что я написал
Цитата (sergeiss @ 24.03.2011 - 12:50)
если в какой-то период будет мало обращений

"какой-то период" вовсе не равен суткам. В течение суток, если брать интервалы по 5-10 минут, посещаемость любого сайта будет сильно меняться. Особенно, если мы сравним малонагруженные 5 минут ночью и сильнонагруженные 5 минут днем. Разница может быть на несколько порядков.

Спустя 11 минут, 41 секунда (24.03.2011 - 13:16) Snus написал(а):
sergeiss
Это ты меня не понял. Какая разница: один посетитель будет запускать скрипт, обновляя страницу раз в 10 минут, или это будет делать крон? Разницы нет. А вот с большой посещаемостью, где обновлении страницы в сумме от всех пользователей составляет 500 раз в секунду - будет абсолютно лишняя нагрузка на БД.

Спустя 15 минут, 10 секунд (24.03.2011 - 13:31) sergeiss написал(а):
Snus - я тебя понял как раз smile.gif Только я четко сказал о том, что при нормальной посещаемости да, разницы нету. И при большой (и при очень большой) посещаемости разницы нету, т.к. программер может контролировать, когда ему делать удаление. Можно же не каждый раз его делать... Сделает анализ времени предыдущего удаления - и будет счастье.

Но плюс в том, что ПРИ МАЛОЙ нагрузке удаление будет запускаться РЕДКО.

Спустя 3 часа, 53 минуты, 37 секунд (24.03.2011 - 17:25) Guest написал(а):
оч интересные баталии, боюсь тут нужно поставить конкретную задачю, дабы понять где использовать крон а где временную переменную. Я задал этот вопрос для создания своей системы авторизации. Лень было читать чужие и я написал свою. Идея со временем хороша, но для совершенства нужно добавить привязку по ИП и все норм. А крон тут думаю не уместен.


_____________
*пускает слюну, глядя на код* :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.