首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性豆杆和钢轨- initializing多次?

弹性豆杆和钢轨- initializing多次?
EN

Stack Overflow用户
提问于 2016-05-31 16:24:40
回答 1查看 104关注 0票数 0

当我将RoR (4.2.6)应用程序部署到ElasticBeanstalk时,初始化过程似乎要运行四次。这影响了我依赖于作业调度器对象(使用Rufus Scheduler)的单例实例的方式。

在两个初始化程序文件和application.rb中,我添加了一些日志语句:

在此:

代码语言:javascript
复制
# /config/initializers/scheduler.rb
require 'rufus-scheduler'

::Rufus_lockfile = "/tmp/.rufus-scheduler.lock"

::Scheduler = Rufus::Scheduler.singleton(
  :lockfile => Rufus_lockfile
)

Rails.logger.info "1: started Scheduler #{Scheduler.object_id}"

在这里:

代码语言:javascript
复制
# /config/initializers/cookies_serializer.rb

Rails.logger.info "2: some other initializer"

在这里:

代码语言:javascript
复制
# /config/application.rb

require File.expand_path('../boot', __FILE__)
require 'rails/all'

Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application

    ... 

    config.after_initialize do
      Rails.logger.info "3: after app is initialized"
    end

  end
end

在运行eb deploy并完成之后,这就是我在app/log/production.log顶部所看到的

代码语言:javascript
复制
I, [2016-05-31T10:31:08.756302 #18753]  INFO -- : 2: some other initializer
I, [2016-05-31T10:31:08.757252 #18753]  INFO -- : 1: started Scheduler 47235057343600
I, [2016-05-31T10:31:08.896353 #18753]  INFO -- : 3: after app is initialized
I, [2016-05-31T10:31:23.669517 #18817]  INFO -- : 2: some other initializer
I, [2016-05-31T10:31:23.670380 #18817]  INFO -- : 1: started Scheduler 46989489069800
I, [2016-05-31T10:31:23.806154 #18817]  INFO -- : 3: after app is initialized
D, [2016-05-31T10:31:23.969103 #18817] DEBUG -- :   ^[[1m^[[36mActiveRecord::SchemaMigration Load (1.3ms)^[[0m  ^[[1mSELECT "schema_migrations".* FROM "schema_migrations"^[[0m
I, [2016-05-31T10:31:33.108449 #18897]  INFO -- : 2: some other initializer
I, [2016-05-31T10:31:33.109513 #18897]  INFO -- : 1: started Scheduler 47156425207060
I, [2016-05-31T10:31:33.116500 #18901]  INFO -- : 2: some other initializer
I, [2016-05-31T10:31:33.117374 #18901]  INFO -- : 1: started Scheduler 47156425216940
I, [2016-05-31T10:31:33.790266 #18901]  INFO -- : 3: after app is initialized
I, [2016-05-31T10:31:33.844517 #18897]  INFO -- : 3: after app is initialized

所以看起来初始化程序文件甚至我的after_initializer块中的代码都要运行四次.我也搞不懂为什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 21:01:01

在rufus-调度器问题系统上被问到的问题,答案是:https://github.com/jmettraux/rufus-scheduler/issues/208

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

https://stackoverflow.com/questions/37551004

复制
相关文章

相似问题

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