2013-02-05 66 views
0

我有一个自定义帖子类型(产品)具有元字段 持有的库存数量。wordpress编辑锁

一旦订单由IM更新量

`$数量= get_post_meta($后> ID, '库存',TRUE);

$ qty--;

Update_post_meta($后> ID,“股票”,$数量);`

的事情是我怕的是,此更新 多和simultanious调用可能导致数据是不正确的。如果一个呼叫会当另一个电话正在进行...

有没有办法锁定这段代码,并确保它不会被解雇 Simultaniously或我exadurating在我的担忧?

回答

1

一般来说,不应该有一个问题,我的问题是为什么你得到的数量,然后用它来减去它,并再次更新,当一切都可以一步完成。我假设这两种方法正在调用一个数据库。在MySQL中,你可以这样做

UPDATE yourtable SET quantity = quantity-1 WHERE id = .... 

这样扣发生在你的数据库,并要保存一个查询...

+0

那么我认为这可能解决它,因为MySQL将锁定编辑该字段... thx –

+0

这是真的,但请记住,在第一种情况真正成为问题之前,您将不得不体验大量的并发性,并且如果您是的话,请确保您正在使用事务处理您的写查询... – Feras

+0

can你评估了什么程度的并发可以使这个过程失败? (我知道这是一个硬件和其他的东西,但让我们说一个中间系统和一个粗略的数字就足够了:-)) –