sql >> Databasteknik >  >> NoSQL >> MongoDB

Varför får jag fel 500. Vi är ledsna men något gick fel när jag skickade min app till Heroku?

Fel

500 server error är i princip ett skydd för alla gånger din server har ett internt problem (och inte kan återge din begäran)

Rails felhantering dirigerar alla dina fel till en serie filer i din /public katalog som heter 422.html , 404.html och 500.html -- representerar de vanligaste felen

Anledningen till att du ser 500-felet kan vara vad som helst i din app. Så här skulle jag göra för att fixa det:

Miljö

Du får felet i produktionen, vilket betyder att en skillnad med miljöerna kommer att orsaka problemet

Jag skulle börja med att titta på vad som förändras. Vanligtvis är det DB, eller vissa miljöinställningar (olika DB-leverantörer etc) som orsakar problemet

DB

De vanligaste 500-felen orsakas av DB-inkonsekvenser mellan utvecklings- och produktionsmiljöer. Jag vet inte om mongoid, men med sådana som MYSQL / PGSQL kommer problemet att vara att göra med att inte migrera i produktionen:

heroku run rake db:migrate löser normalt de flesta db-problem i produktionen

Undantagsmeddelande

Det finns en mycket bra pärla som heter avisering om undantag (extraherat från Rails-kärnan), ett stycke mellanprogram som skickar felmeddelanden via e-post:

  #config/environments/production.rb
  config.middleware.use ExceptionNotification::Rack,
  :email => {
    :email_prefix => "Subject",
    :sender_address => %{"notifier" <[email protected]>},
    :exception_recipients => %w{[email protected]}
  }

Du måste skaffa SendGrid-tillägget i Heroku och lägg till detta i din production.rb :

  #config/environments/production.rb
  config.action_mailer.smtp_settings = {
    :address        => 'smtp.sendgrid.net',
    :port           => '587',
    :authentication => :plain,
    :user_name      => ENV['SENDGRID_USERNAME'],
    :password       => ENV['SENDGRID_PASSWORD'],
    :domain         => 'heroku.com',
    :enable_starttls_auto => true
  }



  1. MongoDB uppdaterar flera poster av array

  2. Filtrera data med mongoose populate

  3. MongoDB Bulk import med mongoimport från Windows-mappen

  4. Hur fixar man detta Morphia-mappningsproblem??? ---> VARNING [org.mongodb.morphia.mapping.DefaultCreator] - Klass hittades inte definierad i dbObj: