2017-06-02 102 views
0

我有我的Rails應用程序的事件模型超不匹配文件具有在給定節奏上調用的resque作業。它運行良好,當我在本地運行發條和排隊在單獨的終端,但是當我在heroku上部署時,它失敗了,因爲我試圖在我的clock.rb中需要environment.rb文件(我試圖部署在不需要環境的heroku上但它在發條模塊中引發了其他問題)。我不明白的部分是爲什麼它只是失敗event.rb?如果它在heroku上失敗了,它也應該在本地失敗。類事件(類型錯誤)

錯誤的樣子:

2017-06-02T06:25:24.578369+00:00 app[clock.1]: /app/app/models/event.rb:1:in `<top (required)>': superclass mismatch for class Event (TypeError) 
2017-06-02T06:25:24.578383+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:293:in `require' 
2017-06-02T06:25:24.578384+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:293:in `block in require' 
2017-06-02T06:25:24.578385+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:259:in `load_dependency' 
2017-06-02T06:25:24.578385+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:293:in `require' 
2017-06-02T06:25:24.578389+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:380:in `block in require_or_load' 
2017-06-02T06:25:24.578389+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:37:in `block in load_interlock' 
2017-06-02T06:25:24.578390+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies/interlock.rb:12:in `block in loading' 
2017-06-02T06:25:24.578391+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/concurrency/share_lock.rb:150:in `exclusive' 
2017-06-02T06:25:24.578392+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies/interlock.rb:11:in `loading' 
2017-06-02T06:25:24.578393+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:37:in `load_interlock' 
2017-06-02T06:25:24.578393+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:358:in `require_or_load' 
2017-06-02T06:25:24.578397+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:336:in `depend_on' 
2017-06-02T06:25:24.578398+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:252:in `require_dependency' 
2017-06-02T06:25:24.578399+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:476:in `block (2 levels) in eager_load!' 
2017-06-02T06:25:24.578400+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:475:in `each' 
2017-06-02T06:25:24.578400+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:475:in `block in eager_load!' 
2017-06-02T06:25:24.578401+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:473:in `each' 
2017-06-02T06:25:24.578402+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:473:in `eager_load!' 
2017-06-02T06:25:24.578402+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/engine.rb:354:in `eager_load!' 
2017-06-02T06:25:24.578403+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/application/finisher.rb:59:in `each' 
2017-06-02T06:25:24.578404+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/application/finisher.rb:59:in `block in <module:Finisher>' 
2017-06-02T06:25:24.578404+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/initializable.rb:30:in `instance_exec' 
2017-06-02T06:25:24.578405+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/initializable.rb:30:in `run' 
2017-06-02T06:25:24.578405+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/initializable.rb:55:in `block in run_initializers' 
2017-06-02T06:25:24.578406+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each' 
2017-06-02T06:25:24.578407+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' 
2017-06-02T06:25:24.578407+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from' 
2017-06-02T06:25:24.578408+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component' 
2017-06-02T06:25:24.578410+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each' 
2017-06-02T06:25:24.578411+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `call' 
2017-06-02T06:25:24.578411+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component' 
2017-06-02T06:25:24.578412+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each' 
2017-06-02T06:25:24.578413+00:00 app[clock.1]: from /app/vendor/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each' 
2017-06-02T06:25:24.578414+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/initializable.rb:54:in `run_initializers' 
2017-06-02T06:25:24.578414+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.3/lib/rails/application.rb:352:in `initialize!' 
2017-06-02T06:25:24.578416+00:00 app[clock.1]: from /app/config/environment.rb:5:in `<top (required)>' 
2017-06-02T06:25:24.578417+00:00 app[clock.1]: from /app/config/clock.rb:2:in `require_relative' 
2017-06-02T06:25:24.578417+00:00 app[clock.1]: from /app/config/clock.rb:2:in `<top (required)>' 
2017-06-02T06:25:24.578420+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/clockwork-0.2.4/bin/clockwork:13:in `require' 
2017-06-02T06:25:24.578421+00:00 app[clock.1]: from /app/vendor/bundle/ruby/2.4.0/gems/clockwork-0.2.4/bin/clockwork:13:in `<top (required)>' 
2017-06-02T06:25:24.578421+00:00 app[clock.1]: from /app/vendor/bundle/bin/clockwork:17:in `load' 
2017-06-02T06:25:24.578422+00:00 app[clock.1]: from /app/vendor/bundle/bin/clockwork:17:in `<main>' 
+0

你可以嘗試在那裏粘貼一個調試行,看看是否已經定義了「事件」?看起來你有定義衝突。 –

+0

你可以顯示你的clock.rb文件嗎? –

+0

這個錯誤意味着'Event'類被定義在別的地方。也許你正在使用一些寶石? – katafrakt

回答

0

我跑進了完全相同的錯誤和情況 - 紅寶石,鐵軌,發條。它只發生在生產中。我的解決方案是簡單地將我的事件類重命名爲external_event,一旦我做到了,那麼一切都正常工作。充其量,這是一個糟糕的解決方案,但我認爲這是因爲需要/包含結構,發條依賴於它有效地將其內部名稱空間帶入應用程序本身。