Assegnare a gli utenti un orario digest casuale?

Ho recentemente migrato un forum phpBB con circa 1400 utenti a Discourse. A parte una manciata di account, tutti i digest sembrano essere inviati a partire dalle 8:00. C’è un modo per assegnare agli utenti un orario casuale tra le 00:00 e le 23:00?

– Geoff

Non lo so, ma mi è stato detto (dall’IA):

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

Salva clic: no, se l’IA lo sapesse e non stesse allucinando.

Penso che potresti modificare user_stats.digest_attempted_at per tutti i tuoi utenti con un valore casuale. Forse aggiungeresti 0-24 ore al loro attuale valore user_stats.digest_attempted_at.

Questo è quello che avevo immaginato che avrei dovuto fare. Tuttavia, sono abituato ad ambienti di server condivisi in cui c’è un server di database a cui posso connettermi da remoto. Sono molto bravo in SQL, ma non so come connettermi al database su una droplet di DigitalOcean. Qualsiasi suggerimento sarebbe molto apprezzato.

Vuoi farlo da Rails anziché modificare direttamente il database.

Ma potresti

./launcher enter app
su - postgres
psql discourse

e metterti all’opera.

Puoi consultare Operazioni di massa amministrative e, credo, trovare alcuni esempi che assomigliano a

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

Grazie mille per i suggerimenti. Ho deciso che farlo da Rails comportava una curva di apprendimento troppo ripida, quindi ho capito come farlo tramite postgres. Ecco la mia soluzione:

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

Mi sembra giusto.

Penso che per questo sia abbastanza sicuro. Capisco l’approccio “vai con ciò che conosci”, ma Rails ti offre molte protezioni (assicurandosi che le cose vengano applicate e che le tabelle rimangano connesse e così via).

Sono contento che tu abbia risolto!

Controllando i log delle email, ora è tutto distribuito uniformemente. Grazie per il tuo aiuto!

1 Mi Piace

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