我的一位同事编写了这个工人类(在 Yii 1.1/Pheanstalk 中使用)。
在代码审查中,我偶然发现了两个花括号,并问他为什么这样做。他说他想防止锁争用。
我以前从未听说过!它真的是这样工作的吗?
class InvoiceWorker
{
public static function generateAndSendInvoice($id)
{
// some code
{
$order = Order::loadLocked(new MongoId($id));
Yii::app()->invoiceManager->createInvoice($order);
}
{
$order = Util::safeFindByPk("Order", new MongoId($id));
Yii::app()->invoiceManager->sendMail($order);
}
// some more code
}
}