2013-08-18 5 views
0

Im работает над тем, чтобы мои пользователи начали аукционы на моем сайте, но не уверен, как мне следует обновить аукцион до «неактивного» из активного.Должен ли я использовать работу cron для этого обновления

В базе данных каждый аукцион имеет ряд под названием «активный»

"active=1"  Means the auction is active 
"active=2"  Means the auction is NOT active. 

Теперь я хочу, чтобы обновить аукционы от активного = 1, к активным = 2 после того, как Конечное время будет достигнута. Лучше всего это сделать, выполняя задание cron раз в минуту? Или это замедлит мой сайт, если я буду запускать его каждую минуту.

Или, может быть, я не должен использовать задания cron для выполнения этой задачи?

Часть «купить сейчас» легко, если кто-то покупает товар сразу же, он сразу же активирует = 2.

Но я не уверен, как автоматически обновлять аукционы от активных = 1 до активных = 2 после достижения конечного времени.

Кроме того, мой сайт создан в php/mysql, работающем на Linux-лампе @ Ubuntu server 12.04.

Там, кажется, много хороших гидов здесь, на StackOverflow, охватывающих хрон рабочих мест на убунту, но если у вас есть хороший гид, пожалуйста, разместить его Aswell :)

Спасибо,

+0

Если ваш скрипт cron короткий и не использует много ресурсов, он не должен замедлять ваш сайт. – Class

ответ

2

Не используйте cron job. Поставьте логику на вид:

create view vw_auctions as 
    select a.*, 
      (case when enddatetime >= now() then 2 else 1 end) as ActiveFlag 
    from auctions; 

Затем все доступ к таблице должен быть через вид. Если пользователи фактически изменяют таблицу, то переносите эту функциональность в хранимые процедуры.