Perché sto diventando livello di stack troppo in profondità, mentre innescando un processo utilizzando resque-status?

StackOverflow https://stackoverflow.com/questions/3105384

Domanda

Questa è la traccia dello stack che appare sull'interfaccia resque-web: http://gist.github.com/ 396893
Ci si può controllare alcune versioni gemma che stavo usando.
Ora ho fatto alcuni aggiornamenti che cercano di risolvere il problema, qui ci sono le versioni attuali gemma:

Redis (2.0.3)
Redis-namespace (0.5.0)
redisk (0.2.1)
Resque (1.9.5)
Resque-scheduler (1.9.2)
Resque-stato (0.1.4)

Ho anche scritto un semplice operaio di scartare eventuali errori di programmazione da parte mia, ma anche senza alcun successo. Il codice operaio test è (anche se il bug si verifica con qualsiasi codice utilizzando resque-stato che ho provato):

class SimpleStatusWorker < Resque::JobWithStatus
   def perform
     60.times do |i|
       sleep 1
       at(i,60,"At #{num} of #{total}")
     end
   end
 end

(L'inizializzatore appropriato viene caricato nell'inizializzazione ambiente rotaie).

È stato utile?

Soluzione

No, non si tratta di IIS. Si tratta di Vlad. Vlad definisce un metodo "get" di eval on rake_remote_task.rb (linea ~ 12). Questo crea un metodo "get" nel contesto di oggetto. Dal momento che le Redis "get" metodo non è definito (si chiama da method_missing) viene eseguito il metodo Vlad. Guardate:

eval "def ottenere \ n puts 'yo' \ n end"

class Foo; end

Foo.new.get

=> yo

Strano non è?

Altri suggerimenti

Forse qualcosa con l'IIS config?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top