php - 如何阻塞多个进程的一段代码

标签 php mysql

由于我已经安装了 cron,所以每分钟运行相同的脚本。同时一个脚本被执行多次。

有这么一个部分:

$query = mysql_query("select distinct `task_id` from tasks_pending where `checked`='0' and `taken`='0' limit 50");

然后,将得到的值设置“taken = 1”

由于多个进程同时执行,因此请求为不同进程返回相同的数据。是否有可能以某种方式禁用她的这部分时间,使其只能执行一个进程?

抱歉英语不好。

最佳答案

使用SELECT FOR UPDATE并且它会在更新之前阻止另一个进程选择相同的行

关于php - 如何阻塞多个进程的一段代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11260374/

相关文章:

php - 如果 WHERE 子句为空则忽略条件

php - 从源代码中隐藏 head 中的样式代码

php - 如何跟踪用户向 Web 服务或 API 发送了多少请求?

php - SQL INSERT 没有错误

java - MySQL SELECT 在 JDBC 中不起作用

php - 使用拖放更新数据顺序

php - 我将如何插入影响多个表的值?

mysql - Rails 迁移以将主键添加到现有表

mysql - 将一个大表拆分为多个表

mysql - 存储 Windows (NT) 服务使用的密码