我有一些長期運行的CLI PHP腳本通過cron定期運行。我希望他們儘快完成,但不會嚴重影響其他進程(例如Web服務器響應)。有沒有更好的方法來讓CPU在PHP中的其他進程?
目前,我與
nice -n 19
運行腳本,也有將很短usleep()函式呼叫,例如50微秒在我的主循環試驗。儘管如此,這並不總是像單核虛擬機那樣快速產生。順便說一句,我不飽和內存,所以沒有分頁發生。
我讀過usleep()是一個系統調用,它允許調度程序在比沒有任何系統調用的情況下更快地分配其他進程的優先級。
我想知道的是,如果有更好的方法在PHP中這樣做。比如一個不睡覺但立即產生優先權的呼叫。
另外,我知道其他語言比PHP更高效,但這是用Symfony + Doctrine編寫的更大應用程序的一部分。我不想分裂成多種語言,並失去了應用程序模型的業務邏輯優勢。
爲什麼不好夠好? – 2011-04-28 19:46:46