我有兩個PHP文件,它們運行很長時間(沒有執行限制)。其中一個文件用於檢查遠程服務器上的一些數據。爲了使它更有效,我運行了文件#1的幾個實例。第二個文件應該是規範行爲,一旦任何文件#1收到有效的響應。PHP - 將數據從一個進程發送到其他進程
問題 - 如何將數據從一個正在執行的文件傳遞給其他人?第一個想法是通過文件#1和文件#2將數據保存到文件定期檢查文件修改時間。問題是它會給服務器造成很大的負載,如果我通過使用睡眠函數來限制它,那麼我能夠達到的最小睡眠時間是1ms(Linux系統的時間量 - 是否有任何方法可以改變它)?所以 - 也許任何人有任何想法如何將信息從一個過程傳遞給其他人?
$last = filemtime('action.txt');
while(!$stop) {
if($last != filemtime('action.txt')) { echo microtime(true); $stop = 1; }
clearstatcache('action.txt');
usleep(100);
$i++;
}
任何低於< usleep(1000)的工作原理是相同的 - 它睡覺1ms的只有1000迭代每秒完成的。
問候, 喬納斯
感謝您的評論 - 在我的情況下,似乎流將是最合理和最有效的解決方案,因爲我也能夠在不需要讀取/寫入文件的情況下傳遞數據。 – flyeris 2010-11-06 16:49:50