我正在努力让我的用户在我的网站上开始拍卖,但我不确定如何将拍卖更新为活跃的“非活跃”。
在数据库中,每次拍卖都有一行称为“活动”
"active=1" Means the auction is active
"active=2" Means the auction is NOT active.
现在我希望一旦达到endTime,拍卖会从active = 1更新为active = 2。 最好每分钟运行一次cron作业吗?或者,如果我每分钟运行它,它会减慢我的网站的速度。
或许我根本不应该使用cron作业来完成这项任务?
“立即购买”部分很简单,如果有人立即购买物品,它立即设置有效= 2。
但是我不确定如何在达到EndTime时自动将拍卖从active = 1更新为active = 2.
另外,我的网站是用php / mysql制作的,运行在Linux灯@ Ubuntu服务器12.04上。
在ubuntu上覆盖cron作业的stackoverflow上似乎有很多好的指南,但如果你有一个很好的指南,请发布它以及:)
谢谢,
答案 0 :(得分:2)
不要使用cron作业。将逻辑放在视图中:
create view vw_auctions as
select a.*,
(case when enddatetime >= now() then 2 else 1 end) as ActiveFlag
from auctions;
然后,对表的所有访问都应该通过视图。如果用户实际上正在修改表,则将该功能包装在存储过程中。