[請益] 多腳本依序取得傳輸權

看板PHP作者 (akakaze)時間8年前 (2017/04/14 10:17), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
各位大大好 小弟我現在想做一個功能,是將從聊天室得來的資料送去另一個的伺服器,在那邊處理完 後取得返回資料 聊天室的發言資料是即時取得的,且由於對方是個公開的伺服器,有聲明太密集的傳送會 被當成攻擊擋掉,因此我希望每個送過去的訊息之間都有3秒的間隔 所以我的想法是,每個因應發言而執行的腳本都會檢查同一個變數,這個變數代表現在是 否可以使用傳輸,當有訊息傳給對方伺服器的時候,改變變數並sleep(3)後再把變數改回 來 目前查到最簡單的方法是對一個file做flock,將"檢查file是否有lock"當作傳輸的使用權 雖然覺得這個方法不夠漂亮,但是也找不到能夠這樣跨腳本改變並且讀取的變數,因此上 PTT來請教各位大大,是不是有更好的解法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.148.89 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1492136262.A.DB1.html

04/14 10:28, , 1F
不是也有一些Linux service這樣寫 沒什麼不好的
04/14 10:28, 1F

04/14 12:51, , 2F
不要放在太容易被摸到的地方就好
04/14 12:51, 2F

04/15 07:08, , 3F
不然試試shared memory或memcached
04/15 07:08, 3F

04/17 11:03, , 4F
不太懂為啥用 flock 做,如果是為了間隔至少三秒才作業
04/17 11:03, 4F

04/17 11:05, , 5F
所以是有一堆 script 想要對同一台聊天室傳送訊息?
04/17 11:05, 5F
文章代碼(AID): #1Oy356sn (PHP)
文章代碼(AID): #1Oy356sn (PHP)