2010-10-20 3 views
6

Nous allons avoir d'énormes problèmes avec le plugin delayed_job - http://github.com/collectiveidea/delayed_job/rails delayed_job problème de la consommation de mémoire

Quand on commence les tâches avec « script Ruby/delayed_job start », le processus ne lâche jamais de RAM il acquiert. Il commence donc par 10%, 25%, passe à 80% et ne lâche jamais le bélier, même s'il n'a pas de travail à traiter.

Des idées comment on peut surmonter cela?

Merci!

(PS: RAILS_ENV = script de démarrage/de delayed_job de production n'a pas fonctionné pour nous de commencer le travailleur delayed_job)

+0

Pourquoi pas 'RAILS_ENV = Le script production/delayed_job travail start' pour vous? Sinon, vous l'utilisez en cours de développement. Dans quel cas, pendant quelle période ce problème se produit-il? – wuputah

+0

J'ai trouvé que secouer le bâton magique 'GC.start' incite parfois le ramasse-miettes à se mettre au travail. – tadman

+0

Vous avez probablement une fuite de mémoire quelque part dans votre application. Il y a quelques indications sur le débogage de ce problème dans le guide des rails (http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-memory-leaks) –

Répondre

2

Sur la base des conseils de l'IRC (de @ReinH), Ruby mémoire jamais libre retour à l'OS .

Donc la seule solution que je connaisse maintenant est de redémarrer manuellement le plugin delayed_job de temps en temps.

@ReinH a également souligné le plugin delayed_job_spawner, ce qui semble être une autre solution plausible - http://github.com/woahdae/delayed_job_spawner

+0

wow, je ne l'ai jamais su, mais courir dedans maintenant semble être un problème qu'ils ont besoin de réparer.Voici un lien vers ce problème: https://github.com/collectiveidea/delayed_job/issues/336 – Jonathan

+0

FYI: Le travail retardé avec des rails 3 semble fonctionner bien pour nous - soit il n'a pas ce problème, ou nous avons fait quelque chose différemment dans notre installation. – stringo0

Questions connexes