Процесс автоматизации для сайта PHP PostgreSQL - PullRequest
1 голос
/ 16 октября 2010

В настоящее время я работаю с сайтом.Этот веб-сайт написан с использованием PHP с PostgreSQL в качестве серверной части.Для сервера я использую Apache (XAMPP).Мой сайт имеет функцию членства, состоящую из бесплатного членства и премиум-членства.Премиум-членство действует в течение 1 года после регистрации, после чего членство пользователя будет возвращено к бесплатному членству.Чтобы снова стать премиум-участником, пользователь должен оплатить членский взнос, и учетная запись будет обновлена ​​в течение следующего 1 года (представьте себе членство в Rapidshare!)Как создать процесс автоматизации для проверки и понижения членства с истекшим сроком?Я думаю, что это должен быть фоновый процесс, работающий на серверной части (postgresql), но я не совсем уверен.Любая идея или решение?

Большое спасибо:)

Ответы [ 3 ]

1 голос
/ 16 октября 2010

Используйте следующую схему таблицы:

CREATE TABLE all_accounts (
    id INTEGER NOT NULL PRIMARY KEY,
    premium_expires DATE NOT NULL DEFAULT current_date,
    other_attrs,
    ...
);

Затем создайте представление, которое вы используете для запросов:

CREATE VIEW accounts AS
SELECT
   account.*, current_date < account.premium_expires AS is_premium_membership
FROM
   account
WHERE 
   id = ?

Теперь выбор accounts даст is_premium_membership атрибут, равный t, если членство премиум-класса действительно.Нет необходимости в фоновых заданиях.

1 голос
/ 16 октября 2010

Почему вы не проверяете каждый раз, когда пользователь входит в систему?

1 голос
/ 16 октября 2010

Идея была бы такой:

  • Пользователь платит премиум
  • Скрипт вставляет запись в базу данных с премиальными датами отмены, с датой отмены и пользователем FK
  • Ежедневно cron / в (в зависимости от ОС) ищет в БД даты отмены с сегодняшней датой и отменяет премиум-членство соответствующих пользователей

Надеюсь, это поможет вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...