Aggiornamenti dei prezzi tramite logica del database

3

In che modo i grandi servizi di comparazione dei prezzi consentono di inviare email direttamente se il prezzo di un prodotto soddisfa il prezzo target.

Ti invieranno automaticamente una email.

È un cron job che esegue la scansione di una tabella o è qualcosa aggravato nel database?

    
posta Ryan 20.06.2011 - 06:11
fonte

3 risposte

1

I lavori cron sarebbero una possibilità - un altro modo sarebbe una soluzione basata su eventi.

Ogni volta che viene cambiato il prezzo di un determinato prodotto (potrebbero esserci anche altri eventi, ad esempio il prodotto esaurito ...) - potrebbe esserci una ricerca in una tabella in cui sono memorizzati i prezzi limite per i prodotti - quando la condizione è incontrato - invia un'email ..

Potresti realizzarlo all'interno del database (trigger, stored procedure). Ma mentre cerchiamo di minimizzare la logica all'interno del database, lo facciamo nel server delle applicazioni ...

    
risposta data 20.06.2011 - 06:52
fonte
0

Ovviamente, diversi siti potrebbero implementare la funzionalità in modo diverso.

La maggior parte delle volte, tuttavia, ci sarà un lavoro che corrisponde alle recenti variazioni di prezzo rispetto all'elenco degli utenti iscritti. Questo potrebbe essere fatto come parte del caricamento di una nuova serie di prezzi, ma sarebbe più spesso fatto in modo asincrono per il processo di caricamento. Più grande è il sito, più iscrizioni e più tempestivo devono essere gli avvisi, più è probabile che valga la pena archiviare sia le sottoscrizioni che le modifiche recenti e implementare un modulo di notifica personalizzato.

    
risposta data 20.06.2011 - 06:54
fonte
0

In generale, starei lontano dal mantenere tale logica nel database. Un cron job è una buona opzione, ma se si utilizza un framework web, molto probabilmente ci sarà una sorta di infrastruttura e classi helper per invocare particolari metodi / logica in momenti o intervalli specifici. Le azioni innescate dal database pongono rischi specialmente quando è qualcosa di così sensibile come inviare una email a clienti di valore.

Non so quanto sia completo il sistema di aggiornamento dei prezzi, ma se aggiorni erroneamente i prezzi nel database che poi invia email ai clienti, non sarebbero felici di scoprire che il nuovo Anthony Weiner bobble-head non sta vendendo per il prezzo specificato nell'e-mail. :) In tal caso è necessario un periodo di defaticamento dopo l'aggiornamento dei prezzi.

    
risposta data 20.06.2011 - 21:24
fonte

Leggi altre domande sui tag