我应该使用cron job来执行此更新

时间:2013-08-18 20:42:29

标签: php mysql ubuntu cron crontab

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

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

"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上似乎有很多好的指南,但如果你有一个很好的指南,请发布它以及:)

谢谢,

1 个答案:

答案 0 :(得分:2)

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

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

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