2011-06-11 4 views
1

Mon travail retardé échoue avec une erreur bizarre. J'ai parcouru les étapes, et rien ne manque. Je cours ceci sur mon serveur de test et rien ne manque. Mais en production, une sorte de donnée fait tanguer le bateau ici. Des idées?Quelqu'un peut-il aider à faire la tête ou la queue de cette erreur Delayed_Jobs?

Email(#-616792908) expected, got NilClass(#-605566518)\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:263:in `raise_on_type_mismatch'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:117:in `<<'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:116:in `each'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:116:in `<<'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:141:in `transaction'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:140:in `transaction'\n/data/HQ_Channel2/releases/20110610192557/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:115:in `<<'\n/data/HQ_Channel2/releases/20110610192557/lib/magic_email.rb:11:in `perform'\n/data/HQ_Channel2/releases/20110610192557/lib/magic_email.rb:8:in `each'\n/data/HQ_Channel2/releases/20110610192557/lib/magic_email.rb:8:in `perform'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/backend/base.rb:53:in `invoke_job'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:108:in `run'\n/usr/lib/ruby/1.8/timeout.rb:67:in `timeout'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:108:in `run'\n/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:107:in `run'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:162:in `reserve_and_run_one_job'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:92:in `work_off'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:91:in `times'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:91:in `work_off'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:66:in `start'\n/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:65:in `start'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:62:in `loop'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/worker.rb:62:in `start'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/command.rb:69:in `run'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/command.rb:46:in `daemonize'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/application.rb:215:in `call'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/application.rb:215:in `start_proc'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:in `call'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:in `call_as_daemon'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/application.rb:219:in `start_proc'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/application.rb:255:in `start'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in `run'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons.rb:188:in `run_proc'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `call'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `catch_exceptions'\n/data/HQ_Channel2/releases/20110610192557/vendor/gems/daemons-1.0.10/lib/daemons.rb:187:in `run_proc'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/command.rb:45:in `daemonize'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/command.rb:43:in `times'\n/data/HQ_Channel2/releases/20110610192557/vendor/plugins/delayed_job/lib/delayed/command.rb:43:in `daemonize'\nscript 

En supposant qu'il est un problème d'association est ici un peu de fond sur mon HABTM ..

class Email < ActiveRecord::Base 
    has_and_belongs_to_many :card_signups 
end 

class CardSignup < ActiveRecord::Base 
    has_and_belongs_to_many :emails 
end 

Répondre

4

Ok donc je résolus cette situation d'une manière étrange, et je suis très bien si ouvert à quelqu'un expliquer pourquoi cela l'a résolu mais c'est ce que j'avais l'habitude d'avoir:

CardSignup.find_by_email(email).emails << orig_email 

Ceci est la cause de l'erreur. Et voici ce qu'il fixe:

CardSignup.find_by_email(email).emails << Email.find(orig_email.id) 

Pour certains Delayed_Jobs raison ne peut pas faire une requête sur un objet brut?

Questions connexes