سؤال

لدي تطبيق Rails مثبت على خادم SliceHost الذي يعمل على تشغيل Apache 2 و Ubuntu LTC 10.04. لقد نجحت الأمور بشكل جميل حتى الآن: أقوم بتحرير ملف ، قم بعمل سريع mongrel_rails cluster::restart, وتنعكس التغييرات في الإنتاج. ومع ذلك ، فجأة انهارت هذه العملية.

على سبيل المثال ، لدي فصل يسمى Master يقع في /lib/master.rb. لقد أضفت طريقة جديدة إلى هذه الفئة التي تعمل ببساطة puts "it works!", ، ثم إعادة تشغيل مجموعة mongrel. بالنظر إلى سجلات الإنتاج ، يرمي الخادم خطأ ويعتقد أن هذه الطريقة غير موجودة. عندما أذهب إلى وحدة التحكم باستخدام ruby script/console production, ، ومع ذلك ، يمكنني استخدام هذه الطريقة الجديدة تماما. حتى أنني حاولت حذف الملف الذي يحتوي على كامل Master صف دراسي. مرة أخرى ، اعتقد الإنتاج أنه لا يزال هناك ، لكن وحدة التحكم في الإنتاج اعترفت بشكل صحيح بأنها مفقودة.

أيه أفكار؟ كيف يمكن لبيئة الإنتاج اكتشاف فئة لم تعد موجودة بعد الآن؟

هل كانت مفيدة؟

المحلول

مضحك ، أقضي ساعتين في تصحيح هذا ، ثم نشر إلى Stackoverflow ومعرفة ذلك في 20 دقيقة.

المشكلة هي أنني كنت بحاجة أيضًا لإعادة تشغيل وظائف الخلفية الخاصة بي أيضًا. كانوا يديرون النسخة القديمة من الفصول المخزنة في /lib. من المثير للاهتمام أن هذه المشكلة لم تتخلى عني من قبل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top