https://www.pfaffmanager.com/ يسحب المعلومات من /admin/dashboard/general.json للحصول على معلومات الإصدار. من الرائع جدًا أن تتمكن من الحصول على هذه المعلومات من تجربة المستخدم. لسوء الحظ، يتم تحديثها بشكل دوري، وليس عند بدء تشغيل الخادم، لذلك إذا قمت بإعادة بناء، فإن المعلومات تكون خاطئة لفترة جيدة (تصل إلى 30 دقيقة) قبل تشغيلها مرة أخرى. خطتي هي أن تجعل أدوات Ansible الخاصة بي تستدعي يدويًا AdminDashboardGeneralData.refresh_stats بعد بدء تشغيل حاوية جديدة، ولكن هذا يبدو سخيفًا بعض الشيء.
هل سيكون من المنطقي تشغيل هذه المهمة عند الإقلاع بدلاً من كل 30 دقيقة؟ هل هناك طريقة يمكنها التحديث دون إعادة تشغيل؟ إذا لم يكن الأمر كذلك، فلماذا يتم تشغيلها كل 30 دقيقة؟ على الأقل أعتقد أن هذا ما يحدث. لقد أكدت أن تشغيل refresh_stats أعلاه سيؤدي إلى تحديث general.json.
بشكل عام، لا نحب تشغيل الأشياء “عند الإقلاع”. بينما قد يكون ذلك منطقيًا في بيئة خادم واحد غير متعددة المواقع، فإن الأمور تصبح معقدة على نطاق واسع.
على سبيل المثال، إذا كان لديك إعداد قياس تلقائي يضيف/يزيل الخوادم بناءً على الحمل، فإن كل حدث من أحداث القياس هذه يمكن أن يتسبب في “إقلاع” خوادم متعددة في وقت واحد. لن نرغب في تأخير بدء تشغيلها جميعًا أثناء تحديث بعض الإحصائيات.
نحب أيضًا التأكد من أن الخوادم يمكنها الإقلاع بنجاح، حتى لو كانت قاعدة البيانات/redis في حالة للقراءة فقط.
بالنسبة لحالة pfaffmanager هذه تحديدًا، هل لديك مكون إضافي مخصص و/أو قالب discourse_docker يعمل على المواقع؟ من خارج Discourse، يمكنك تشغيله مثل:
لا! أحد المبادئ الأساسية هو أن كل شيء يكون تمامًا كما هو الحال في التثبيت القياسي. لا توجد أي تبعيات خاصة بـ pfaffmanager. إذا رأى شخص ما هنا أنه يجب عليه القيام بشيء مثل إعادة البناء، أو إضافة إضافة، أو إضافة متغير بيئة إلى app.yml، فسوف يقوم pfaffmanager بذلك تمامًا كما لو كانوا يعرفون ما هو ssh ويمكنهم كتابة الأوامر. تستخدم التثبيتات discourse-setup، وتقوم الترقيات بتشغيل ./launcher rebuild (أو bootstrap, destroy, start لإعدادات حاويتين). إذا كان Postgres قديمًا، يتم اتباع الإجراءات في تحديث PostgreSQL 13، وهكذا. لقد أغرتني بضعة أشياء لإنشاء إضافة دعم اختيارية، لكنني أرغب في تجنب ذلك في الغالب. أنا أتعامل بالفعل مع Ansible و Rails و Ember - وجود قطعة أخرى في اللعب ليس جذابًا للغاية.
لكن هذا الجزء runner كان مساعدة كبيرة. سأقوم بتشغيل هذا بعد إعادة تشغيل حاوية تم بناؤها حديثًا: