2012-01-21 73 views
0

我有一個使用Flash上​​傳器(swfuploader)的web應用程序,最近用戶指出我們腳本掛起超過30秒時發生的錯誤。避免Flash上​​傳時進行imagemagic轉換30秒超時?

我知道閃存文檔提到,在30秒的無響應之後,它會超時,所以我知道我需要在轉換函數結束之前將一些數據發送到瀏覽器。

截至目前該腳本上傳文件,將其轉換,如果它是一個多頁PDF它將保存參考兒童PNG到DB,這對大和小文件工作正常,問題發生在30頁後它會掛起超過30秒。

在此先感謝

回答

1

我想你應該只是建立整個事情要非同步,然後你不必擔心,對吧?

2

無論是馬克羅賓斯建議,或者您可能正在尋找這http://php.net/manual/en/function.set-time-limit.php,但您還需要檢查服務器設置(它們也可能限制腳本允許運行的時間)。我並不是說這是一個完美的解決方案,但它是最容易實現的(至少在我看來):你可以開始將「convert」作爲一個單獨的進程,獲取它的pid並將pid保存在您認爲與客戶端關聯的會話/其他位置,然後讓客戶端輪詢服務器以請求工作完成。一旦與pid關聯的進程退出,客戶端需要接收保存到imagemagic轉換的目錄中的內容。