لماذا لا يتم تحديث الإحصائيات في الوقت الفعلي؟

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

  • أولاً، عند جلب /directory_items.json?period=all&order=likes_given، لاحظنا أنه إذا قام مستخدم بإعطاء بضع إعجابات، فلن يتم تحديث الإحصائيات إلا بعد مرور بعض الوقت.
  • المكان الآخر الذي لاحظنا فيه هذا هو عند جلب إحصائيات ملخص المستخدم عن طريق جلب /u/<user>/summary.json، يبدو أن الإحصائيات لا يتم تحديثها بشكل صحيح أو على الأقل ليس في الوقت الفعلي.

نحن نستخدم bitnamis docker image لتشغيل Discourse، ونحن غير متأكدين مما إذا كانت هذه المشكلة قد تكون مرتبطة بهذه الصورة المحددة، أو إذا كان هذا سلوكًا متوقعًا لواجهة برمجة تطبيقات discourse نفسها.

تستخدم صورة docker شيئًا يسمى sideqik، والذي اعتقدنا أنه قد يكون سبب المشكلة. لقد حاولنا تشغيل ما بدا أنه المهمة الصحيحة (Jobs::DashboardStats) لتحديث الإحصائيات، ولكن دون جدوى. لا يتم تحديث الإحصائيات حتى بعد تشغيل المهام المجدولة. هل هناك أي مهمة أخرى متعلقة بهذا، أم أننا لا ننظر في المكان الصحيح؟

مع خالص التقدير،
مانولو

جميع المنصات الجيدة تميز بين الأشياء التي يجب أن تكون محدثة تمامًا وتلك الأشياء التي يمكن أن تنتظر وتوفر الموارد.\n\nيبدو أن عناصر الدليل يتم تحديثها كل ساعة. هذا يعني أنه أرخص بكثير عرض نفس النتيجة لكل مستخدم على حدة بدلاً من حسابها عند الطلب في كل مرة يحاول فيها المستخدم الوصول إليها.\n\nالكود المصدري هو صديقك:\n\ndiscourse/app/jobs/scheduled/directory_refresh_daily.rb at 166fe3bb34f99bd0baa613726486ce0f13c7a992 · discourse/discourse · GitHub قد تتمكن من زيادة هذا التردد باستخدام إضافة بسيطة، ولكن كن حذرًا من تأثير الموارد والأداء الذي قد تحدثه.

4 إعجابات

حسناً، هذا ما كنا نعتقد أنه سبب المشكلة، لقد نسيت التحقق من الكود المصدري حيث لم أتوقعه، على الرغم من أنه منطقي تماماً!

شكراً على الإجابة السريعة!

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.