Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как хранить и высчитывать интервал / 14 сообщений из 14, страница 1 из 1
09.09.2015, 01:00:01
    #39046334
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как хранить и высчитывать интервал
То ли дело к ночи, то ли я шарю не очень.. вообщем суть вопроса:
Есть таблица event с полем date_added, в котором храниться дата время добавления. Так же указывается интервал напоминания в формате "через n месяцев, n дней, n часов". Вот думаю как хранить этот интервал. Создать таблицу period в которую забивать готовую высчитанную дату и с ней сравнивать (или доп поле в таблице event). Но есть нюанс. После наступления срока, нужно обновить date_added до текущей, и интервал увеличить на "n месяцев, n дней, n часов". Как быть?
...
Рейтинг: 0 / 0
09.09.2015, 01:10:30
    #39046342
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как хранить и высчитывать интервал
Может в таблице period сделать 4 поля month day hour, alarm. Алярм использовать для сравнения с date_added, а те поля для расчета нового алярма на япе.
...
Рейтинг: 0 / 0
09.09.2015, 08:58:34
    #39046417
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как хранить и высчитывать интервал
Перевести интервал в часы. Тогда для вычисления даты-времени напоминания используем DateAdd(), а при выводе интервала - форматирование к требуемому виду.
...
Рейтинг: 0 / 0
09.09.2015, 09:18:26
    #39046431
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как хранить и высчитывать интервал
Akina,

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

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

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

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

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

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

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

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

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


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