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

Bre*_*uir 10 ruby-on-rails cpu-usage delayed-job

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

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

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

这是调整大小导致CPU咀嚼的图像.

任何想法欢迎:)

muu*_*ope 7

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

unzip uploaded-images.zip

而是跑

nice unzip uploaded-images.zip

这将导致解压缩进程获得较低的CPU优先级,让其他进程先运行.有关更多选项的信息,请参见手册页,例如如何调整优先级.