首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务器空闲时的ruby进程

服务器空闲时的ruby进程
EN

Stack Overflow用户
提问于 2011-01-11 01:13:15
回答 1查看 183关注 0票数 2

我只想在CPU负载较少的时候运行Stalker作业,这样站点就不会受到影响。

该工作是转换视频从任何格式的flv和mp4。所以这是一项非常昂贵的工作。

我如何才能做到这一点?

编辑

这是一种好方法吗?

smthng怎么样

代码语言:javascript
运行
复制
load = `uptime`.gsub(/(.*): /,'').strip.split ' '
if (load[0].to_f < 0.7 && load[0].to_f < load[1].to_f) || (!args["max_delay"].nil? && total_delay > args["max_delay"] && load[0].to_f < 0.85)
  do stuff
end
EN

回答 1

Stack Overflow用户

发布于 2011-01-11 01:21:02

运行一个单独的Ruby解释器进程,该进程只执行代码转换,并使用nice -n 19nice -n 12运行它。

在启动解释器之后,您可能想要降低Ruby代码中的优先级(提高nice级别)。

现在,您可以使用Process.setpriority更改解释器的优先级。但是,除非您拥有特权,或者使用Linux并具有CAP_SYS_NICE功能,否则您将无法恢复到正常的优先级。

解决这个问题的策略可能包括接收一些要做的工作,执行ProcessKernel.fork,降低优先级,运行作业,然后调用exit

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4649425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档