- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我试图了解这样做对性能的影响:
Resque.before_fork do
Rails.logger.info "in resque.rake before fork"
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
Resque.after_fork do
Rails.logger.info "in resque.rake after fork"
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end
这样做不会显着影响性能,因为我们不再保持与数据库的持久连接并在每项工作中一次又一次地这样做。就我而言,工作所做的工作非常小。它所做的只是插入一条记录,如下所示:
Foo.create(:name => "Hello World")
由于工作量很小,我想知道在工作中这样做是否真的会影响性能。你的想法?
最佳答案
我的理解是,这些语句的存在是为了防止在 Resque 作业失败并需要重试时连接到数据库失败。参见 this issue ...听起来这主要是 postgres 的问题,但也可能是其他数据库的问题。
我的直觉告诉我,性能影响将是最小的,但您总是可以尝试删除这些行并在将其移至生产环境之前在暂存环境中对其进行测试一段时间,但我个人会保留它.
关于ruby-on-rails - Resque worker 在 after_fork 中重新建立连接的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037857/
我试图了解这样做对性能的影响: Resque.before_fork do Rails.logger.info "in resque.rake before fork" defined
是否phusion passenger使用 fork ?如果是这样,我应该在哪里设置 after_fork配置,as recommended by Heroku for unicorn (重新:使用
不把 $redis = Redis.new 放在 Unicorn 的 after_fork 中有什么负面影响,因为 redis-rb 是线程安全的?假设我有不止一名 worker 。 而不是仅仅将那行
在 unicorn.conf 中,preload_app 应该设置为 true 以提高性能,但需要在 fork 回调中启动和停止 Redis。 The example here指的是 Resque,但
我是一名优秀的程序员,十分优秀!