¿Sugerencias de flujo de trabajo de back-end de rieles para limpiar los accesorios a los borradores abandonados?

StackOverflow https://stackoverflow.com/questions/5385719

Pregunta

Estoy trabajando en una aplicación Rails. Dos de mis modelos son notas y archivos adjuntos. El usuario puede crear notas y agregarles archivos adjuntos. Esto es algo estándar y ya tengo esto funcionando bien.

Actualmente, el usuario debe crear una nota antes de poder agregar archivos adjuntos. Estoy buscando implementar un flujo de trabajo más optimizado para el usuario, similar al flujo de trabajo de correo electrónico familiar donde puede agregar archivos adjuntos a un correo electrónico no salvado. Sin embargo, la clave es que no quiero que el usuario tenga que guardar un borrador de la nota antes de que se pueda agregar el archivo adjunto, y quiero que esta nota no salvada sea abandonada si el usuario navega (no quiero tener la complejidad adicional de notas no favorables/no publicadas).

Sé que cuando la nota aún no se ha guardado inicialmente, puedo crear los archivos adjuntos sin el enlace a la nota, y luego establecer el enlace cuando la nota se guarda. La parte en la que estoy dibujando un espacio en blanco es ¿cómo elimino los archivos adjuntos no utilizados si el usuario rompe el proceso de creación de notas? ¿Hay un gancho que me falta que me permita ver que el usuario se rompió?

Sin tal gancho, la primera solución que viene a la mente es un script de limpieza nocturno que se ejecuta a través de Cron que encontraría todos los accesorios no unidos y los eliminaría (tal vez filtrado por los accesorios que se han creado hace más de 24 horas). ¿Es esta la mejor solución?

¿Fue útil?

Solución

Realmente no hay ningún tipo de activación para hacerle saber cuándo limpiarlos, ya que un usuario puede dejar el sitio sin "cerrar sesión" o alguna otra acción. Eso lo deja con un trabajo de fondo no adjunto a la acción del usuario. En su caso, creo que un cron nocturno es agradable y simple y encajaría bien en esta situación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top