在后台运行任务,CPU优先级较低

时间:2010-03-08 03:47:11

标签: ruby-on-rails cpu-usage delayed-job

我的CMS中有一项功能,允许用户上传完整图像的zip文件,服务器将提取它们并将每个文件插入图库。我注意到这会严重影响CPU并导致其他请求变慢。

我正在考虑使用delayed_job插件将每个图像添加委托给后台,但我也想让该进程具有较低的CPU优先级,这样就不会让服务器陷入困境。

我对演习的延迟部分非常有信心,但节流部分是我被卡住的地方。是否有一种降低方法调用优先级的红宝石方法?

图像调整大小导致CPU咀嚼。

欢迎任何想法:)

1 个答案:

答案 0 :(得分:7)

如果您的CMS在Linux系统上运行,那么您可以使用“nice”命令执行此操作。 “nice”将以较低优先级启动进程。最简单的使用方法就是在命令面前放好。所以,如果你正在运行像

这样的命令

unzip uploaded-images.zip

改为运行

nice unzip uploaded-images.zip

这将导致解压缩进程获得较低的CPU优先级,让其他进程先运行。有关更多选项,请参阅man page,例如如何调整优先级。