Pri heroku sa stále vyskytuje chyba. Je to aplikácia Sinatra, ktorá používa Mongoid. Aj keď tu mám tiež aplikáciu Rails, nespôsobí žiadnu chybu napriek skutočnosti, že má presne rovnaké súbory mongoid.yml.
Tu sú záznamy z heroku, ktoré ukazujú výnimku
me@ubuntu:~/dev$ heroku logs
2013-01-12T13:51:09+00:00 app[web.1]: Moped::Errors::ConnectionFailure - Could not connect to any secondary or primary nodes for replica set <Moped::Cluster nodes=[<Moped::Node resolved_address="127.0.0.1:27017">]>
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/session/context.rb:43:in `query"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/session/context.rb:104:in `with_node"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (3 levels) in route!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/controllers/sessions_controller.rb:38:in `block in <class:App>"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `block in compile!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:261:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/mongoid-c839bb60e5f9/lib/mongoid/contextual.rb:19:in `first"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `catch"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:834:in `block in route!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/query.rb:114:in `first"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:851:in `route_eval"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-timeout-0.0.3/lib/rack/timeout.rb:16:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-timeout-0.0.3/lib/rack/timeout.rb:16:in `block in call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/timeout.rb:68:in `timeout"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `[]"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `process_route"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `each"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/xss_header.rb:27:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bundler/gems/mongoid-c839bb60e5f9/lib/mongoid/contextual/mongo.rb:186:in `first"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/json_csrf.rb:17:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:136:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:1471:in `synchronize"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/xss_header.rb:27:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/logger.rb:15:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:134:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `each"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/path_traversal.rb:16:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:129:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:1389:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:1389:in `block in call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/exceptional-2.0.33/lib/exceptional/integration/rack.rb:21:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (2 levels) in route!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/commonlogger.rb:20:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/head.rb:9:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/moped-1.3.2/lib/moped/cluster.rb:258:in `with_secondary"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:872:in `block in process_route"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `route!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-protection-1.3.2/lib/rack/protection/base.rb:48:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:81:in `block in pre_process"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/bin/thin:6:in `<top (required)>"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in `pre_process"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/server.rb:159:in `start"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/backends/base.rb:63:in `start"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `<main>"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:79:in `catch"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bin/thin:23:in `load"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:39:in `receive_data"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/urlmap.rb:64:in `block in call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/connection.rb:54:in `process"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/controllers/controller.rb:86:in `start"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/runner.rb:152:in `run!"
2013-01-12T13:41:47+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.5.0/lib/thin/runner.rb:187:in `run_command"
mongoid.yml
development:
sessions:
default:
database: dev123
hosts:
- localhost:27017
options:
timeout: 20
production:
sessions:
default:
uri: <%= ENV["MONGOHQ_URL"] %>
options:
skip_version_check: true
Gemfile
gem "mongoid", git: "https://github.com/mongoid/mongoid.git"
odpovede:
2 pre odpoveď č. 1Chyba je v tom, že sa aplikácia nemôže pripojiť k lokálnej inštancii, ktorú očakáva, že bude spustená.
Ak si myslíte, že správa v protokole je dlhá, nevideli ste výnimky automatického prepojenia Java Spring =) Aj keď v tomto prípade bola na určenie problému dostatočná horná chybová správa.
Práve som dostal do práce Mongo HQ s mojou aplikáciou Rails na Heroku, takže môj návrh je:
beh heroku config
vo vašom projektovom adresári skontrolujte, či ste definovali RACK_ENV = production a MONGOHQ_URL bol definovaný spoločnosťou Heroku.
Ak MONGOHQ_URL nie je na Heroku definovaná ako premenná prostredia, je pravdepodobné, že nemáte spustený heroku addons:add mongohq:sandbox
aby ste Heroku povedali, že chcete inštanciu ústredia Mongo.
Ak RACK_ENV = produkcia nie je definovaná, jednoducho ju pridajte pomocou:
heroku config:add RACK_ENV=production
Potom reštartujte aplikáciu pomocou heroku restart
a malo by to fungovať.
FYI pre aplikáciu Rails (namiesto Sinatra) sa RACK_ENV stáva RAILS_ENV.