El uso de: Rieles 3.0.3 y Heroku con Postgresql.

He estado recibiendo numerosas Excepciones, como por ejemplo este:

A ActiveRecord::StatementInvalid occurred in home#index:

  PGError: ERROR:  current transaction is aborted, commands ignored until end of transaction block
: SELECT "calculation_types".* FROM "calculation_types"
  .bundle/gems/ruby/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `rescue in log'

que ocurren althroughout mi aplicación, pero siempre, cuando me realice como en este caso

calculation_type = CalculationType.find(params[:id])

o similar, super simple, base de datos de las solicitudes.

Mi lista de gemas (de cuando me subí a Heroku):

   Installing rake (0.9.2.2) 
   Installing abstract (1.0.0) 
   Installing activesupport (3.0.3) 
   Installing builder (2.1.2) 
   Installing i18n (0.6.1) 
   Installing activemodel (3.0.3) 
   Installing erubis (2.6.6) 
   Installing rack (1.2.5) 
   Installing rack-mount (0.6.14) 
   Installing rack-test (0.5.7) 
   Installing tzinfo (0.3.33) 
   Installing actionpack (3.0.3) 
   Installing mime-types (1.19) 
   Installing polyglot (0.3.3) 
   Installing treetop (1.4.10) 
   Installing mail (2.2.19) 
   Installing actionmailer (3.0.3) 
   Installing arel (2.0.10) 
   Installing activerecord (3.0.3) 
   Installing activeresource (3.0.3) 
   Installing acts_as_tree_rails3 (0.1.0) 
   Installing breadcrumbs_on_rails (2.2.0) 
   Installing yamler (0.1.0) 
   Installing configatron (2.9.1) 
   Installing daemons (1.1.9) 
   Installing eventmachine (1.0.0) with native extensions 
   Installing exception_notification (2.4.1) 
   Installing friendly_id (4.0.0.beta12) 
   Installing i18n_routing (0.6.1) 
   Installing thor (0.14.6) 
   Installing railties (3.0.3) 
   Installing jquery-rails (1.0.19) 
   Installing pg (0.14.1) with native extensions 
   Installing postgres-pr (0.6.3) 
   Installing rack-rewrite (1.0.2) 
   Installing rack-timeout (0.0.3) 
   Using bundler (1.0.7) 
   Installing rails (3.0.3) 
   Installing thin (1.5.0) with native extensions 
   Installing time_diff (0.2.2) 

Hechos

  • Los errores son intermitentes y no puedo reproducirlos.
  • Que parece suceder en la mayoría de las veces cuando robots de motores de búsqueda intentar acceder a la página

Preguntas

Q1. Yo no sé ni por dónde empezar a la solución de problemas de este (que en otras partes de mi código que usted necesita?). Lo que debería ser mis primeros pasos?

Q2. Hay problemas conocidos con Rieles 3.0.3 y Postgresql?

  • ¿Qué más necesitas para que me ayude a disparar problemas?
  • Quitar el : antes de la params, debe leer calculation_type = CalculationType.find(params[:id])
  • Gracias, pero que en realidad era sólo un tipo-o en el texto (no copiar y pegar), de modo que en realidad no existen en el código. Me han quitado mi pregunta ahora.
  • si u r uso de ActiveRecord::Transacción, a continuación, checkout apidock.com/rails/ActiveRecord/Transactions/ClassMethods
  • Prasad, no, yo no soy…
  • Tengo el mismo problema. ¿El problema desaparece cuando se reinicie la base de datos? Hace pop-up cuando usted tiene el tiempo la ejecución de los procesos?
InformationsquelleAutor Christoffer | 2012-09-25

3 Comentarios

  1. 16

    Este error nunca es tu verdadero problema. Se debe enviar una declaración en una transacción que ya ha fallado debido a una aguas arriba de un error. Si usted ve un montón de estos errores quieres ir de nuevo en su registro para encontrar el primer error en la secuencia, y será un error diferente.

    Encontrar esto, y solucionarlo. Tenga en cuenta que esto sólo significa que usted está continuando transacciones después de otros errores. Los otros errores son, dónde están los problemas.

    • Yo necesarios para ejecutar rake db:prueba:preparar para solucionar mi problema. Espero que esto ayude a alguien.
    • Yo sé la razón. Pero, ¿cómo pasar? Cómo decirle a la transacción sólo para detener y salir? No necesito buscar el motivo. Acaba de salir de su estado.
  2. 0

    Puede realizar una CalculationType.all o CalculationType.first sin errores?

    Si se puede acceder a algunos datos de este modelo, y luego a indexar la tabla podría solucionar el problema, intente esto:

    REINDEX TABLE <table_name>

    o en la consola de rails:

    ActiveRecord::Base.connection.execute("reindex table <table_name>")

    Tuve un problema similar hace un tiempo, espero que ayude.

Dejar respuesta

Please enter your comment!
Please enter your name here