Задать вопрос
@Kekoc

Как автоматически изменять статус объекта в зависимости от даты?

Здравствуйте.
В объекте имеются переменные "начало" и "завершения" (даты), также необходимо чтобы у этого объекта были статусы:
  1. Активный (после создания)
  2. Открытый (ставится автоматически после достижения даты начала);
  3. Закрытый (ставится автоматически после достижения даты завершения);
  4. Завершенный (после установки данного статуса пользователем);
  5. Замороженный (после установки данного статуса пользователем);

В чём собственно вопрос. Как реализовать автоматическое изменение статуса в зависимости от даты?
Мои идеи:
  1. Статусы открытый и закрытый, как таковые не хранить в модели(следовательно и в базе), а просто высчитывать эти статусы для каждого объекта, путём сравнения попадает ли текущая дата на сервере в интервал начала и конца, если стоит 1 статус. И каждый раз уже пользователю показывать на странице список объектов со статусом.
    Недостаток такого действия, что при большом количестве объектов и частых запросов придётся, всё это высчитывать с датами, хотя и не такое сложное действия, но всё же.
  2. Идея номер 2 состоит в том, чтобы в Cron ежедневно пробегать по всем объектам и изменять им статусы в зависимости наступил ли день начала или окончания срока действия для данного объекта. Плюсом является, то что статусы будут непосредственно хранится в самом объекте и это избавляет нас от лишних операций.

Прошу покритиковать мои решения. И с удовольствием посмотрю ваши )
Спасибо.
  • Вопрос задан
  • 262 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы