2010-03-08 54 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

相关问题