由于forUpdate仍然无法正常工作(https://github.com/phalcon/cphalcon/issues/2407),那么在数据库中锁定已选择的行的最佳方法是什么?
我有一个包含要处理项目的innodb表。我通过cronjob启动一些任务,这些任务查找要处理的项目 (status=open)
,更新具有status=processing
的行,然后执行一些操作。我该如何保护它们之间的时间?
$oModel->findFirst('status="open"');
并且
$oModel->update(['status' => 'processing']);
?