[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Очистить таблицу каждые 24 часа - сутки
Миша
Очистить таблицу каждые 24 часа, как лучше реализовать. На уровне MySQL возможно?

_____________
Принимаю заказы, писать в ЛС
123456
Cron
johniek_comp
celery, rabbitmq

_____________
user posted image
kaww
johniek_comp, позвольте поинтересоваться. Причем здесь очереди? И как вообще эту задачу можно решить с помощью сервера очередей без подобный костылей?
johniek_comp
kaww
я очередями делаю) в проекте хитрожопая архитектура (спасибо тимлид!) крон уже ответили, так пусть ТС еще почитает что-то познавательное.

_____________
user posted image
Hello
Свернутый текст
Цитата
М: как распечатать картинки с котятами из интернета?
1: для этого нужно купить принтер
j: или плоттер, а еще лучше 3D принтер


_____________
VPS от 5$, первые 2 месяца - бесплатно.
Миша
Цитата (Hello @ 10.04.2015 - 15:06)
Свернутый текст
Цитата
М: как распечатать картинки с котятами из интернета?
1: для этого нужно купить принтер
j: или плоттер, а еще лучше 3D принтер

1
wink.gif

_____________
Принимаю заказы, писать в ЛС
sergeiss
Цитата (Медведь @ 10.04.2015 - 11:37)
Очистить таблицу каждые 24 часа, как лучше реализовать.

А что за извращение такое, зачем это нужно? Ты честно ответь на этот вопрос, а я тогда тебе подскажу хорошее решение, быстрое, удобное, правильное smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
paul85
Цитата (Медведь @ 10.04.2015 - 11:37)
Очистить таблицу каждые 24 часа, как лучше реализовать. На уровне MySQL возможно?

В подавляющем большинстве случав не нужно. Вешается сборщик мусора на систему авторизации, да и всё. Либо в момент залогинивания админа, либо в момент разлогинивания.

Залогинивание надежнее.

Отличать сутки друг от друга по таймштампу/дате. Обычный WHERE относительно NOW().

Миша
Цитата (sergeiss @ 10.04.2015 - 22:56)
Цитата (Медведь @ 10.04.2015 - 11:37)
Очистить таблицу каждые 24 часа, как лучше реализовать.

А что за извращение такое, зачем это нужно? Ты честно ответь на этот вопрос, а я тогда тебе подскажу хорошее решение, быстрое, удобное, правильное smile.gif

Это таблица, где будут пользователи отбывать наказание за спам.

_____________
Принимаю заказы, писать в ЛС
rooor
Не проще будет в таблице пользователей создать 2 поля - бан, со значением 0,1(0 - нет бана, 1 - есть) и дата бана?
А при авторизации пользователя проверять - если 0, значит всё норм, если 1 - проверять прошли сутки с момента выдачи бана или нет?
Миша
Цитата (rooor @ 11.04.2015 - 10:11)
Не проще будет в таблице пользователей создать 2 поля - бан, со значением 0,1(0 - нет бана, 1 - есть) и дата бана?
А при авторизации пользователя проверять - если 0, значит всё норм, если 1 - проверять прошли сутки с момента выдачи бана или нет?

Учили меня здесь в одну таблицу всё не пихать, но даже если и так сделать, нужно ещё дату+ время записать, а через сутки снять бан. Проще отдельную таблицу сделать и с ней работать.

Может я и ошибаюсь.

_____________
Принимаю заказы, писать в ЛС
sergeiss
Цитата (Медведь @ 11.04.2015 - 09:31)
Это таблица, где будут пользователи отбывать наказание за спам.

Там будет всего несколько юзеров, я так думаю.

Поэтому следующее утверждение не совсем верно получается.
Цитата (sergeiss @ 10.04.2015 - 22:56)
а я тогда тебе подскажу хорошее решение, быстрое, удобное, правильное


Тут, наверное, лучше сделать одно дополнительное поле, где указывается дата окончания бана. Если эта дата еще не наступила, то, значит, юзер забанен. И не надо ничего мудрить с какими-то там индикаторами.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
rooor
Цитата
И не надо ничего мудрить с какими-то там индикаторами

ага, самый оптимальный вариант :)
при авторизации просто добавить условие - если дата бана меньше текущей даты, значит бана нет
WHERE `date_ban` <= NOW()
Миша
Цитата (rooor @ 11.04.2015 - 14:00)
Цитата
И не надо ничего мудрить с какими-то там индикаторами

ага, самый оптимальный вариант :)
при авторизации просто добавить условие - если дата бана меньше текущей даты, значит бана нет
WHERE `date_ban` <= NOW()

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

И эта блокировка только на отправку писем, на полную блокировку у меня другой фильтр стоит.

_____________
Принимаю заказы, писать в ЛС
Быстрый ответ:

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