2010-06-23 5 views
1

Voici la trace de pile qui apparaît sur l'interface resque-web: http://gist.github.com/396893
Là, vous pouvez vérifier certaines versions de gem 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écieusesPourquoi le niveau de la pile est-il trop profond lors du déclenchement d'un travail en utilisant le statut resque?

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 statut (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).

Répondre

3

Non, il ne s'agit pas d'IIS. C'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 d'Object. Puisque la méthode "get" de Redis n'est pas définie (elle est appelée par method_missing), elle exécute la méthode Vlad. Regardez:

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

classe Foo; fin

Foo.new.get

=> yo

Bizarre est pas?

+0

ok, la partie IIS était juste une blague. –

+0

Comment avez-vous résolu ce problème? Merci pour la réponse! –

+0

Je ne l'ai pas fait. N'utilisez pas Vlad. C'est tout. Essayez hercules. https://github.com/diogob/hercules – joaomilho

0

Peut-être quelque chose avec la configuration IIS?

Questions connexes