作者m2251000 (akakaze)
看板PHP
标题[请益] 多脚本依序取得传输权
时间Fri Apr 14 10:17:35 2017
各位大大好
小弟我现在想做一个功能,是将从聊天室得来的资料送去另一个的伺服器,在那边处理完
後取得返回资料
聊天室的发言资料是即时取得的,且由於对方是个公开的伺服器,有声明太密集的传送会
被当成攻击挡掉,因此我希望每个送过去的讯息之间都有3秒的间隔
所以我的想法是,每个因应发言而执行的脚本都会检查同一个变数,这个变数代表现在是
否可以使用传输,当有讯息传给对方伺服器的时候,改变变数并sleep(3)後再把变数改回
来
目前查到最简单的方法是对一个file做flock,将"检查file是否有lock"当作传输的使用权
虽然觉得这个方法不够漂亮,但是也找不到能够这样跨脚本改变并且读取的变数,因此上
PTT来请教各位大大,是不是有更好的解法呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.173.148.89
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1492136262.A.DB1.html
1F:→ MOONRAKER: 不是也有一些Linux service这样写 没什麽不好的 04/14 10:28
2F:→ MOONRAKER: 不要放在太容易被摸到的地方就好 04/14 12:51
3F:推 dinos: 不然试试shared memory或memcached 04/15 07:08
4F:→ dou0228: 不太懂为啥用 flock 做,如果是为了间隔至少三秒才作业 04/17 11:03
5F:→ dou0228: 所以是有一堆 script 想要对同一台聊天室传送讯息? 04/17 11:05