2012-08-03 24 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