Pourquoi je reçois le niveau de la pile trop profond tout en déclenchant un travail en utilisant resque statut?

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

Question

Voici la trace de la pile qui apparaît sur l'interface resque-web: http://gist.github.com/ 396893
Là, vous pouvez vérifier certaines versions de pierres précieuses que j'utilisais.
Maintenant, je l'ai fait quelques mises à jour en essayant de résoudre le problème, voici les versions actuelles pierres précieuses:

Redis (2.0.3)
Redis-espace de noms (0.5.0)
redisk (0.2.1)
resque (1.9.5)
resque-programmateur (1.9.2)
Resque-état (0.1.4)

J'ai aussi écrit un travailleur très simple à éliminer toute erreur de programmation de ma part, mais aussi sans succès. Le code de travail de test est (bien que le bogue se produit avec un code à l'aide resque statut J'ai essayé):

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

(Le initialiseur approprié est chargé dans des rails d'initialisation de l'environnement).

Était-ce utile?

La solution

Non, ce n'est pas sur IIS. Il est à propos de Vlad. Vlad définit une méthode "get" par eval sur rake_remote_task.rb (ligne ~ 12). Cela crée une méthode « get » dans le contexte de l'objet. Puisque la méthode Redis « get » n'est pas défini (il est appelé par method_missing) il exécute la méthode Vlad. Rechercher:

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

classe

Foo; fin

Foo.new.get

=> yo

Bizarre est pas?

Autres conseils

Peut-être quelque chose avec IIS config?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top