【发布时间】:2012-06-13 08:02:10
【问题描述】:
我有一个链接到我的网站的 MySql 数据库,它有一个带有任务列表的表(列由下面的“/”分隔),即:
task1 / doTask1.sh / todo
task2 / doTask2.sh / 完成
task3 / doTask3.sh / todo
task4 / doTask4.sh / todo
等等……
对我的网站的每个请求,我都希望执行“待办事项”任务,然后由服务器将其标记为“完成”。任务只能执行一次。但是问题来了。
如果:
用户 A 选择标记为“待办事项”的任务。 doTask1.sh 执行并标记为完成,由用户 A 的请求触发。 用户 B 选择标记为“待办事项”的任务(仅任务 3 和任务 3,因为任务 1 已完成)。 doTask3.sh 执行并标记为完成,由用户 A 的请求触发。 doTask3.sh 再次执行,由用户 B 的请求触发。 doTask4.sh 也一样。
由于同时存在数据库连接,使用 PHP/Nginx/MySql 会发生这种情况吗?如果是,如何绕过/避免这个问题?
在这个例子中,我使用 doTaskx.sh 来简化情况。实际上,此列将包含对任务的描述,为我的网站提供支持的 PHP 脚本将根据该描述执行任务。
【问题讨论】: