2011-05-11 97 views
5

是否有可能啓動一個代碼塊(也許只是調用一個函數),如果它在一定時間內沒有執行,則跳過它。我可以設置代碼塊的時間限制嗎?

//give this function 10 seconds to execute 
$value = mega_function();// could take anything from 1-1000 seconds 
//if 10 seconds have passed and the value is still not set, abort it and set $value = false; 

回答

7

號你會使用捲曲或file_get_contents()必須要麼

  • 調用外部文件中的函數 - 你可以設置一個超時有

  • 保持的時間內跟蹤如果需要,可以使用mega_function()return()

mega_function()是做什麼用的?

+0

兆功能是一個程序,試圖解釋各種文本塊,所以爲了獲得更快的結果,我們只是想跳過那些需要更多時間的現在,我想我需要優化代碼,並可能使用另一種語言,而不是php,但是,有,我的工具 – Moak 2011-05-11 07:15:35

+1

如果它真的調用一個外部程序,你可以跟蹤時間並殺死'mega_function()'裏面的外部進程。 – tobyodavies 2011-05-11 07:17:47

+0

你也可以從PHP啓動一個進程,檢索PID,控制。然後檢查一段時間外部腳本的PID狀態。 – 2011-05-11 07:33:24

相關問題