MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Защо получавам грешка 500. Съжаляваме, но нещо се обърка при изпращане на приложението ми към Heroku?

Грешка

500 server error всъщност е прикритие за всички случаи, когато вашият сървър има вътрешен проблем (и не може да изобрази вашата заявка)

Обработката на грешки на Rails насочва всички ваши грешки към поредица от файлове във вашия /public директория, наречена 422.html , 404.html и 500.html -- представящи най-често срещаните грешки

Причината да виждате грешката 500 може да е нещо във вашето приложение. Ето какво бих направил, за да го поправя:

Околна среда

Получавате грешката в производството, което означава, че разликата със средите ще причинява проблема

Бих започнал, като погледна какво се променя. Обикновено DB или някои настройки на средата (различен доставчик на DB и т.н.) причиняват проблема

DB

Най-често срещаните грешки 500 са причинени от несъответствия в базата данни между развойната и производствената среда. Не знам за mongoid, но с подобни на MYSQL / PGSQL проблемът ще бъде свързан с липсата на мигриране в производството:

heroku run rake db:migrate обикновено коригира повечето проблеми с db в производството

Известие за изключение

Има едно много добро бижу, наречено известие за изключение (извлечено от ядрото на Rails), част от междинния софтуер, който изпраща известия за грешки по имейл:

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

Ще трябва да получите добавката SendGrid в Heroku и добавете това към вашия 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. база данни mongodb с Java play 2.0

  2. Какво не е наред със заявката за премахване на MongoDB, използвайки mongodb java за подмасив на документ?

  3. Разработете схема на база данни за Notify like facebook

  4. Изчислени полета за групиране в MongoDB

  5. Топологията беше унищожена при използване на MongoDB с собствен драйвер и Express.js