Ich habe kürzlich ein phpBB-Forum mit etwa 1400 Benutzern nach Discourse migriert. Abgesehen von einer Handvoll Konten scheinen alle Digests ab 8 Uhr morgens versendet zu werden. Gibt es eine Möglichkeit, den Benutzern eine zufällige Zeit zwischen 00:00 und 23:00 zuzuweisen?
Ich denke, Sie könnten user_stats.digest_attempted_at für alle Ihre Benutzer mit einem zufälligen Wert ändern. Vielleicht würden Sie ihren aktuellen user_stats.digest_attempted_at-Wert um 0-24 Stunden erhöhen.
Das habe ich irgendwie vermutet, dass ich das tun müsste. Ich bin es jedoch von Shared-Server-Umgebungen gewohnt, in denen es einen Datenbankserver gibt, mit dem ich mich remote verbinden kann. Ich bin sehr gut in SQL, aber ich bin verloren, wie ich mich mit der Datenbank auf einem DigitalOcean Droplet verbinden kann. Jeder Hinweis wäre sehr willkommen.
Vielen Dank für die Hinweise. Ich habe beschlossen, dass die Umsetzung über Rails eine zu steile Lernkurve darstellt, und habe daher herausgefunden, wie ich es über Postgres machen kann. Hier war meine Lösung:
./launcher enter app
su - postgres
psql discourse
UPDATE user_stats SET digest_attempted_at = digest_attempted_at - interval '1' DAY * random();
Ich denke, dafür ist es sicher genug. Ich verstehe den Ansatz, bei dem man sich auf das verlässt, was man kennt, aber Rails bietet viele Schutzmechanismen (stellt sicher, dass Dinge durchgesetzt werden und Tabellen verbunden bleiben und so weiter).