Suggerimenti per il flusso di lavoro back-end di Rails per la pulizia degli attaccamenti alle bozze abbandonate?

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

Domanda

Sto lavorando a un'applicazione Rails. Due dei miei modelli sono note e allegati. L'utente può creare note e aggiungere allegati ad esse. Questa è roba standard e ho già questo funzionamento bene.

Attualmente, l'utente deve creare una nota prima di poter aggiungere allegati ad essa. Sto cercando di implementare un flusso di lavoro più snello per l'utente, simile al flusso di lavoro e -mail familiare in cui è possibile aggiungere allegati a un'e -mail non salvata. Tuttavia, la chiave è che non voglio che l'utente debba nemmeno salvare una bozza della nota prima che possa essere aggiunto l'attacco e voglio che questa nota non salvata venga abbandonata se l'utente naviga (non voglio avere l'ulteriore complessità di note non salvate/non pubblicate).

So che quando la nota non è stata inizialmente salvata, posso creare gli allegati senza il collegamento alla nota e quindi stabilire il collegamento quando la nota viene salvata. La parte che sto disegnando uno spazio vuoto è come rimuovo gli allegati inutilizzati se l'utente interrompe il processo di creazione della nota? C'è un gancio che mi manca che mi permette di vedere che l'utente si è interrotto?

Senza un tale gancio, la prima soluzione che mi viene in mente è uno script di pulizia notturno che funziona tramite Cron che troverebbe tutti gli allegati non attaccati e li rimuoverà (forse filtrando per allegati che sono stati creati più di 24 ore fa). È questa la soluzione migliore?

È stato utile?

Soluzione

Non c'è davvero alcun tipo di trigger per farti sapere quando ripulirli, poiché un utente può semplicemente lasciare il sito senza "disconnettersi" o qualche altra azione. In questo modo ti lascia con un lavoro di fondo non collegato all'azione dell'utente. Nel tuo caso penso che un cron notturno sia bello e semplice e si adatterebbe bene a questa situazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top