0

我正在努力让我的用户在我的网站上开始拍卖,但我不确定我应该如何将拍卖从活跃更新为“不活跃”。

在数据库中,每次拍卖都有一行称为“活动”

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

现在,一旦达到 endTime,我希望拍卖从 active=1 更新为 active=2。这最好通过每分钟运行一次 cron 作业来完成吗?或者,如果我每分钟运行一次,它会大大降低我的网站速度吗?

或者也许我根本不应该使用 cron 作业来完成这项任务?

“立即购买”部分很简单,如果有人立即购买一件物品,它会立即设置 active=2。

但是我不确定一旦达到 EndTime,如何自动将拍卖从 active=1 更新为 active=2。

另外,我的网站是用 php/mysql 制作的,在 Linux lamp @ Ubuntu server 12.04 上运行。

在 stackoverflow 上似乎有很多很好的指南,涵盖了 ubuntu 上的 cron 作业,但是如果你有一个很好的指南,请也发布它:)

谢谢,

4

1 回答 1

2

不要使用 cron 作业。将逻辑放在视图中:

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

然后,对表的所有访问都应该通过视图。如果用户实际上正在修改表,则将该功能包装在存储过程中。

于 2013-08-18T20:45:55.120 回答