powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как хранить и высчитывать интервал
14 сообщений из 14, страница 1 из 1
Как хранить и высчитывать интервал
    #39046334
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То ли дело к ночи, то ли я шарю не очень.. вообщем суть вопроса:
Есть таблица event с полем date_added, в котором храниться дата время добавления. Так же указывается интервал напоминания в формате "через n месяцев, n дней, n часов". Вот думаю как хранить этот интервал. Создать таблицу period в которую забивать готовую высчитанную дату и с ней сравнивать (или доп поле в таблице event). Но есть нюанс. После наступления срока, нужно обновить date_added до текущей, и интервал увеличить на "n месяцев, n дней, n часов". Как быть?
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046342
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может в таблице period сделать 4 поля month day hour, alarm. Алярм использовать для сравнения с date_added, а те поля для расчета нового алярма на япе.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046417
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевести интервал в часы. Тогда для вычисления даты-времени напоминания используем DateAdd(), а при выводе интервала - форматирование к требуемому виду.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046431
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Спасибо, хранить интервал в часах я и не подумал.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046482
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне другое непонятно... Как контролировать дату срабатывания?

Если в таблице 10000 строк - это вешать 10000 алармов? Как?

У меня в качестве аларма используется юзер, - но может я чего-то не знаю?

При обнаружении по какой-то из строк наступившего часа Х, юзер что-то делает с этой строкой, после чего час Х автоматом сдвигается к следующей дате. Но если юзер профилонит - ничего не произойдет, что не есть хорошо...

Нет, понятно, что второго юзера можно назначить контролером и дать ему отчет о просроченных событиях, так в принципе и организовано, но вдруг есть еще какие механизмы?
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046491
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007Если в таблице 10000 строк - это вешать 10000 алармов?
У него event - это таблица так названа. А алярм один, который из неё выгребает дозревшие записи.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046493
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я планировал по крону раз в час запускать скрипт и смотреть у кого дата наступила.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046552
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

А что за задача вообще?
В зависимости от задачи могут потребоваться довольно сложные комбинации полей.
Например, контролировать дни рождения интервалом, выраженным в часах, не получится. Санитарный день в последний четверг месяца - тоже не получится. Даже зарплата 1 числа каждого месяца - и то не получится.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046585
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

можно сказать органайзер своеобразный. Ну к примеру, я каждый день покупаю молоко. Я добавляю себе задачу "покупка молока" и ставлю интервал 1 день. Каждый день мне должно падать напоминание купить молока. Тут опять нюанс, если я добавлю задачу в 11 вечера, то и напоминание мне придет в 11 вечера. Сплю я такой, а мне смс купи молока. Тоже этот момент надо как то продумать, т.к. интервал + 24 часа уже не подойдет.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046588
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguНу к примеру, я каждый день покупаю молоко. Я добавляю себе задачу "покупка молока" и ставлю интервал 1 день. Каждый день мне должно падать напоминание купить молока. Тут опять нюанс, если я добавлю задачу в 11 вечера, то и напоминание мне придет в 11 вечера. Сплю я такой, а мне смс купи молока. Тоже этот момент надо как то продумать, т.к. интервал + 24 часа уже не подойдет.Конкретно это лечится установкой начального момента срабатывания напоминания.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046618
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

как обычно это делается - добавим параметр "напоминать за N чего-то до наступления события"
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046623
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

все равно будет погрешность, не будешь же каждую минуту проверять настало время или нет. Хотя бы раз в 15-20 минут.
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046701
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguЯ добавляю себе задачу "покупка молока" и ставлю интервал 1 день. Каждый день мне должно падать напоминание купить молока. Тут опять нюанс, если я добавлю задачу в 11 вечера, то и напоминание мне придет в 11 вечера.
Кто тебе мешает указать точное время срабатывания?
Код: sql
1.
2.
CREATE EVENT ...
EVERY 1 DAY STARTS '2015-09-10 10:00:00'
...
Рейтинг: 0 / 0
Как хранить и высчитывать интервал
    #39046722
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguне будешь же каждую минуту проверять настало время или нетСистемный крон так и делает.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как хранить и высчитывать интервал
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]