当前位置: 首页 > 知识库问答 >
问题:

Rails、Heroku、Unicorn

堵恺
2023-03-14

我刚刚在赫罗库改用独角兽。我也要切换到resque从delayed_job并使用http://bugsplat.info/2011-11-27-concurrency-on-heroku-cedar.html描述的设置

我不明白的是如何配置/unicorn.rb:

worker_processes 3
timeout 30

@resque_pid = nil

before_fork do |server, worker|
  @resque_pid ||= spawn("bundle exec rake " + \
  "resque:work QUEUES=scrape,geocode,distance,mailer")
end

翻译成:

“这实际上会在每个web dyno中产生六个进程:1个unicorn主进程、3个unicorn web工作进程、1个resque工作进程、1个resque子工作进程,当它实际处理作业时”

有多少工人会实际处理背景工作?1个还是2个?

假设我想增加新员工的数量——我会改变什么?

共有1个答案

赫连瀚
2023-03-14

我认为如果你运行这个块,你的unicorn主机已经在运行了,加上你在文件顶部指定的3个web工作程序,然后下面的块启动一个Resque工作程序,如果它还没有启动的话。

我猜Resque在实际执行工作时会自动启动一个童工。

看起来,如果你想再找一个工作人员,你可以这样做

worker_processes 3
timeout 30

@resque_pid = nil
@resque_pid2 = nil

before_fork do |server, worker|
  @resque_pid ||= spawn("bundle exec rake " + \
  "resque:work QUEUES=scrape,geocode,distance,mailer")
  @resque_pid2 ||= spawn("bundle exec rake " + \
  "resque:work QUEUES=scrape,geocode,distance,mailer")
end

根据我使用Resque的经验,它只需启动上面指定的另一个流程即可。我唯一不确定的是Heroku,以及它如何选择给你更多的工人。

 类似资料:
  • 我的应用程序在生产环境中运行良好,但当我转到生产环境并运行“heroku run rake db:migrate”时,我会遇到以下错误: 但是,我的数据库中有一个“应用程序”表。这可能与我前几天放弃并重新制作应用程序脚手架有关。我该如何解决这个问题? 因此,当我运行rake:db安装程序时,我会看到以下结果: 我试图删除“创建应用程序”之前的两个。因此,我尝试像这样对heroku数据库进行rake

  • 部署在Heroku上的Rails应用程序无法加载。我设置了数据库迁移,我还有puma和procfile。。。我真的不知道。 这是我的日志: 宝石文件 程序文件 配置/puma.rb 工人整数(ENV['WEB_CONCURRENCY']||2)threads_count=整数(ENV['RAILS_MAX_THREADS']||5)线程threads_count,threads_count pre

  • 问题内容: My Rails应用程序依靠传统Java代码来实现其部分逻辑。它通过shell命令运行代码:然后运行。但是,在部署到Heroku后,该请求失败,因为它无法定位或。 在Rails应用程序中安装Java的最佳方法是什么?我尝试使用带有以下.buildpacks的多buildpack解决方案: 但是我得到这个错误: 我尝试派生Ruby buildpack并从那里直接安装Java,但是我真的不

  • 我试过在本地迁移,然后推到heroku它没有工作。我尝试过heroku run rake DB:Migrate,然后重新启动它不起作用。 我试着重新启动dyno,它也没有工作。 有什么我可以查一下的可以提供更多的细节吗?我正在查看heroku run rake db:migrate:status,但它只显示了一般的迁移创建书籍。 Controllers/Books_Controller.rb

  • 由于最近没有使用,我在Heroku上重新安装了我的盆景Elasticsearch插件。以前它工作得很好,但现在我在rails控制台中键入以下内容时: 我收到以下错误: Elasticsearch::Transport::Transport::Errors::BadRequest([400]{“error”:{“root\u cause”:[{“type”:“非法的\u参数\u异常”,“原因”:“除

  • 我有一个非常简单的Rails3.2.6应用程序。我多年来一直使用Heroku来托管原型,总是在免费层上。我终于在我最新的应用程序上添加了一个付费的dyno,并添加了新的Relic来监控性能。 我在极其简单的页面上看到4500+ms的请求时间,几乎零流量(我们还没有推出)。New Relic表示,99%的时间都花在了渲染模板上。这是一个75行完全静态的haml模板内的100行布局。应用程序模板具有标