相关疑难解决方法(0)

通过Capistrano任务启动多个具有特定队列的DelayedJob worker

我正在研究使用delayed_job的队列.我发现这个页面概述了各种启动工人的方法,但我想保留目前的Capistrano方法:

set :delayed_job_args, "-n 2 -p ecv2.production"
after "deploy:start",  "delayed_job:start"
...
Run Code Online (Sandbox Code Playgroud)

我想知道如何修改delayed_job_args来处理具有特定队列的产生1工作者,以及为每个其他工作处理1个工作者.到目前为止,我所拥有的只是如此重写每项任务:

namespace :delayed_job do
  task :restart, :roles => :app do
    run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -p ecv2.production --queue=export restart"
    run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -p ecv2.production restart"
  end
end
Run Code Online (Sandbox Code Playgroud)

......但那没什么好玩的.有什么建议?

ruby ruby-on-rails delayed-job ruby-on-rails-3

12
推荐指数
2
解决办法
3056
查看次数

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

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

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

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

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

任何想法欢迎:)

ruby-on-rails cpu-usage delayed-job

10
推荐指数
1
解决办法
2944
查看次数