تعيين وقت ملخص عشوائي للمستخدمين؟

لقد قمت مؤخرًا بترحيل منتدى phpBB بحوالي 1400 مستخدم إلى Discourse. بخلاف عدد قليل من الحسابات، يبدو أن جميع الملخصات تُرسل بدءًا من الساعة 8 صباحًا. هل هناك طريقة لتعيين وقت عشوائي للمستخدمين بين 00:00 و 23:00؟

  • جيف

لا أعرف، لكن تم إخباري (بواسطة الذكاء الاصطناعي):

https://ask.discourse.com/discourse-ai/ai-bot/shared-ai-conversations/wisnZ2lMtzSY1ji_QM8BiA

حفظ النقرات: لا، إذا كان الذكاء الاصطناعي يعرف ولم يكن يتخيل.

أعتقد أنه يمكنك تعديل user_stats.digest_attempted_at لجميع المستخدمين لديك بقيمة عشوائية. ربما تضيف 0-24 ساعة إلى قيمة user_stats.digest_attempted_at الحالية لديهم.

هذا ما خمنت تقريبًا أنني سأضطر إلى فعله. ومع ذلك، أنا معتاد على بيئات الخادم المشترك حيث يوجد خادم قاعدة بيانات يمكنني الاتصال به عن بُعد. أنا جيد جدًا في SQL، لكنني ضائع في كيفية الاتصال بقاعدة البيانات على قطرة DigitalOcean. أي إرشادات ستكون موضع تقدير كبير.

تريد القيام بذلك من Rails بدلاً من تعديل قاعدة البيانات مباشرة.

ولكن يمكنك

./launcher enter app
su - postgres
psql discourse

والبدء في العمل.

يمكنك إلقاء نظرة على عمليات الإدارة المجمعة و، أعتقد، العثور على بعض الأمثلة التي تبدو مثل

users=User.where(something)
users.each do |user|
   user.update(field: value)
end

شكراً جزيلاً على النصائح. قررت أن القيام بذلك من Rails كان منحنى تعليميًا كبيرًا جدًا، لذلك اكتشفت كيفية القيام بذلك عبر postgres. كان هذا هو حلي:

./launcher enter app
su - postgres
psql discourse
UPDATE user_stats SET digest_attempted_at = digest_attempted_at - interval '1' DAY * random();

يبدو صحيحًا بالنسبة لي.
أعتقد أن هذا آمن بما فيه الكفاية. أتفهم نهج “التمسك بما تعرفه” ولكن Rails يوفر لك الكثير من الحماية (التأكد من فرض الأشياء وبقاء الجداول متصلة وما إلى ذلك).
يسعدني أنك قمت بحلها!

بالتحقق من سجلات البريد الإلكتروني، أصبح كل شيء الآن موزّعًا بالتساوي. شكرًا لمساعدتك!

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

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