بسبب الحمل الشديد، يتم عرض هذا مؤقتًا كما يراه المستخدم غير المسجل.
لديّ ملاحظات وأسئلة عدة حول هذا الأمر:
أولاً، لا يبدو أن الخادم يعاني من حمل شديد. آخر مرة رأيت فيها هذا التحذير، أظهرت مراقبة الخادم أن ذروة حمل المعالج كانت 24%، واستهلاك الذاكرة كان أعلى قليلاً من 50%، وما إلى ذلك. وإلى حد علمي، لم يكن هناك انخفاض ملحوظ في الأداء بالنسبة للمستخدمين. لذا أتساءل: ما هو الحد الفاصل لهذا التحذير، وهل هو مُعاير بشكل معقول؟
ثانيًا، والأهم بالنسبة لي، هو أن المنتدى الذي أديره خاص تمامًا. لا يستطيع المستخدمون غير المسجلين رؤية أي شيء سوى صفحة تسجيل الدخول. لذا فإن الإشعار غير دقيق، أي أن الصفحة ليست مُعروضة كما يراها المستخدم غير المسجل، لأن مثل هذا المستخدم لن يتمكن من رؤيتها على الإطلاق. وقد تسبّب هذا في حدوث بعض الارتباك في مناسبات عدة، حيث فُسر على أنه يعني أن منشورات منتدى الخاص أصبحت فجأة متاحة للمستخدمين غير المصرح لهم. لقد شعرتُ بالقلق الشديد في المرة الأولى التي رأيتُ فيها هذا الإشعار، ومن حين لآخر أتلقى أسئلة من المستخدمين بشأنه.
ربما ينبغي إعادة صياغة هذا التحذير؟ أو تغييره/تعطيله للمنتديات الخاصة؟
البحث عن هذا الملف التعريفي للارتباط على GitHub يُظهر:
حيث يُوجد force_anon هنا:
def initialize(app, settings = {})
@app = app
end
def call(env)
helper = Helper.new(env)
force_anon = false
if helper.should_force_anonymous?
force_anon = env["DISCOURSE_FORCE_ANON"] = true
helper.force_anonymous!
end
مرجع:
انظر أيضًا:
MIN_TIME_TO_CHECK = 0.05
ADP = "action_dispatch.request.parameters"
def should_force_anonymous?
if (queue_time = @env['REQUEST_QUEUE_SECONDS']) && get?
if queue_time > GlobalSetting.force_anonymous_min_queue_seconds
return check_logged_in_rate_limit!
elsif queue_time >= MIN_TIME_TO_CHECK
if !logged_in_anon_limiter.can_perform?
return check_logged_in_rate_limit!
end
end
end
false
end
أفضل ما يمكننا فعله تحت الحمل الشديد، للمواقع التي “تتطلب تسجيل الدخول”، هو ببساطة عرض شاشة زرقاء تقول “الموقع مثقل، حاول مرة أخرى لاحقًا”. نود الانتظار قليلاً قبل إضافة هذا والإبلاغ عن شكوى أخرى.
يحدث هذا في مجتمع Discourse خاص وصغير جدًا أزوره بشكل متكرر. ظهر لي خطأ 502 bad gateway من nginx، ثم لم يعد الموقع يعمل على الإطلاق. في النهاية، تم تحميله، لكنه عرض لي رسالة اللافتة المذكورة أعلاه.