2010-05-11 71 views
0

我有用Perl編寫的守護進程腳本,它檢查數據庫表中的行,逐個拉取它們,通過HTTP發送內容到另一個服務,然後記錄結果並重復(只有一個孩子)。當有行存在時,第一個行會立即發佈並記錄下來,但隨後的每個行都會延遲大約20秒。沒有sleep()正在運行,我找不到任何其他明顯的延遲。有任何想法嗎?每個進程之後消息隊列掛起20秒的Perl守護進程腳本。爲什麼?

+5

包括你的腳本可能會在發現問題很長的路要走的至少一些關鍵部分是掛起。 – pdehaan 2010-05-11 03:55:01

回答

0

沒有代碼沒有人可以幫助你。您應該在代表錯誤的最小測試用例中減少代碼並將其發佈到此處。 Probablby如果你經常發現你自己的錯誤。

即使沒有「睡眠」,如果您沒有進行異步編程並調用需要很長時間才能執行的操作,您的進程可能會掛起。

你可以找到這樣的代碼,如果你在一個分析器執行程序像Devel::NYTProf