سؤال

أقوم بتشغيل تطبيق ينطلق عملية جدولة Rufus في المهجع. التطبيق يعمل مع الركاب في الإنتاج ولاحظت بسلوكيات غريبة

أولا، من أجل إعادة تشغيل الخادم وتأكد من تشغيل المهيمة، يجب عليك كليهما touch tmp/restart.txt وحمل التطبيق في متصفح. في تلك المرحلة، حرائق المهيئة. الشيء الرهيب هو أنه إذا كنت تفعل اللمس فقط، فإن العمليات المجدولة من RUFUS احصل على إعادة التعيين ولا يتم إعادة جدولة حتى تقوم بتحميل التطبيق في متصفح.

هذا وحده يمكنني التعامل معه. ولكن هذا يؤدي إلى المشكلة الثانية: سألاحظ أن العملية المجدولة لم تعمل، لذلك أقوم بتحميل صفحة وفجأة أن ملف السجل يخبرني أنه يقوم بتشغيل المهيئين كما لو كنت أعيد تشغيله. لذلك، في مرحلة ما، يعيد تشغيل الركاب بشكل عشوائي كما لو كنت قد لمست TMP / restart.txt ومسح عملياتي المجدولة.

لدي فهم ضعيف بشكل لا يصدق من تكامل الركاب والقضبان، لذلك لا أعرف ما إذا كانت هذه إعادة التشغيل في بعض الأحيان مشرق أو كل جزء من العمارة. هل يمكن لأي شخص تقديم أي حكمة في هذا الموقف؟

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

المحلول

ما تصفه هو الطريقة التي يعمل فيها الركاب. يطرد مثيلات جديدة للتطبيق عند أوامر حركة المرور بها، وإغلاقها بعد فترات عدم النشاط لتحميل الموارد الحرة.

يجب عليك قراءة وثائق الركاب، وخاصة قسم التحكم في الموارد والتحسين. وبعد هناك إعدادات يمكنها إيقاف تشغيل التطبيق من قبل الراكب، إذا كان هذا هو ما تريد.

باستخدام إعداد PassergerPoolIdletime، يمكنك الاحتفاظ بعملية واحدة على الأقل قيد التشغيل، لكنك بالتأكيد ستريد من المؤكد أن الركاب لبدء مثيلات أخرى للتطبيق حسب الضرورة. هذا الموضوع في جدول جدولة RUFUS Group يذكر استخدام ملفات القفل لمنع أكثر من عملية واحدة من بدء المجدول، قد يكون ذلك مفيدا لك.

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