2010-03-08 68 views
9

我在CMS中有一項功能,允許用戶上傳一個完整的圖像的zip文件,服務器將提取它們並將每個插入圖像庫。我注意到,這會嚴重影響CPU,並導致其他請求減慢。在較低的CPU優先級的背景下運行任務

我正在考慮使用delayed_job插件將每個圖像添加到後臺,但我也希望爲該進程提供較低的CPU優先級,以便它不會阻塞服務器。

我對鍛鍊的延遲部分非常有信心,但節流部分是卡住的地方。有降低方法調用優先級的紅寶石方式嗎?

這是造成CPU咀嚼的圖像大小調整。

任何想法表示歡迎:)

回答

6

如果CMS的Linux系統上運行,那麼你可以使用「好」命令來實現。 「nice」會以較低優先級啓動進程。使用它的最簡單的方法就是在你的命令前放好。所以,如果你喜歡

unzip uploaded-images.zip

運行命令,而不是運行

nice unzip uploaded-images.zip

這將導致解壓縮過程中獲得更低的CPU優先級,讓其他進程先運行。請參閱man page瞭解更多選項,例如如何調整優先級。

+0

謝謝你,我也偶然發現谷歌:http://stackoverflow.com/questions/1340142/preventing-delayed-job-background-jobs-from-consuming-too-much-cpu-on-a - 單SE – 2010-03-09 02:34:10

相關問題