¿Asignar a los usuarios una hora de digestión aleatoria?

Recientemente migré un foro phpBB con aproximadamente 1400 usuarios a Discourse. Aparte de un puñado de cuentas, todos los resúmenes parecen enviarse a partir de las 8 AM. ¿Hay alguna forma de asignar a los usuarios una hora aleatoria entre las 00:00 y las 23:00?

– Geoff

No lo sé, pero me dijeron (por IA):

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

¿Guardar clic? No, si la IA lo supiera y no estuviera alucinando.

Creo que podrías modificar user_stats.digest_attempted_at para todos tus usuarios con un valor aleatorio. Quizás añadirías de 0 a 24 horas al valor actual de user_stats.digest_attempted_at.

Esto es lo que supuse que tendría que hacer. Sin embargo, estoy acostumbrado a entornos de servidor compartido donde hay un servidor de base de datos al que puedo conectarme de forma remota. Soy muy bueno en SQL, pero estoy perdido en cuanto a cómo conectarme a la base de datos en una instancia de DigitalOcean. Cualquier indicación sería muy apreciada.

Lo quieres hacer desde Rails en lugar de modificar la base de datos directamente.

Pero podrías

./launcher enter app
su - postgres
psql discourse

y meterte en ello.

Puedes mirar en Operaciones masivas administrativas y, creo, encontrar algunos ejemplos que se parezcan a

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

Muchas gracias por las indicaciones. Decidí que hacerlo desde Rails era una curva de aprendizaje demasiado grande, así que descubrí cómo hacerlo a través de postgres. Esta fue mi solución:

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

Me parece bien.

Creo que para esto es lo suficientemente seguro. Entiendo el enfoque de “ir con lo que sabes”, pero Rails te da muchas protecciones (asegurándose de que las cosas se apliquen y las tablas permanezcan conectadas, etc.).

¡Me alegro de que lo hayas solucionado!

Revisando los registros de correo electrónico, todo está ahora distribuido de manera uniforme. ¡Gracias por tu ayuda!

1 me gusta

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