2012-08-03 61 views
0

我有我1分以前代理的工作后确定的一个工作,在PHP代理文件。但如果第二代理运行的代理尚未完成。它的制作问题..... 我想要标记每个代理中选定的行,如果另一个代理运行新的查询,他们没有干涉标志选定行

我如何更改此查询是最好的方法是使该表中的字段选择或不?

db::query("SELECT 1000 FROM web-service WHERE `state`= 1 AND `fetch_id`="fetchid" ")// 

1状态= 1是我的产品

条件

2,我用取ID来归集ID,什么是最好的方式,每个代理?

+1

我还没有看到,因为*矩阵革命这么多代理商*。 – Matt 2012-08-03 15:37:33

+1

¿选择查询如何受另一个选择查询影响?你是不是显示所有相关的代码 – Alfabravo 2012-08-03 15:37:41

+1

@马特它的队列中,我连接到网关也许网关响应末和代理需要时间2分钟,我的工作运行每1分钟 – user1574533 2012-08-03 15:39:19

回答

0

如果我理解你的问题,你不希望多个脚本在同一时间在同一行的工作。这被称为contention,可以通过多种方式解决。我在过去的解决了这个问题

一种方法是只运行我的剧本,如果它尚未运行。这里定义您可以通过shell脚本做到这一点:Shell script: Ensure that script isn't executed if already running

+0

这个PHP文件我朋友,我想在同一时间2 agnet工作,但与自己选择的产品 – user1574533 2012-08-03 15:42:32

+0

一旦你的脚本完成后,您可以添加一列,如果该产品为“使用”是旗帜,在'SELECT'后设置,然后更新它。 – Matt 2012-08-03 15:44:16

+0

嗯,这是最好的方式吗?例如,MySQL可以识别巫女行现在选择和运行?或者最好的方法是更新像你一样的字段,例如“在使用”? – user1574533 2012-08-03 15:48:01