Design Pattern for Cron / Schedule in MongoDB

0

Sto cercando un buon pattern per gestire i dati di tipo cron in una collezione (o collezioni) di MongoDB. Ho dato una sbirciata al libro O'Reilly MongoDB Applied Design Patterns e ho spulciato intorno al sito Use Cases del sito MongoDB. ma nessuno dei due sembra coprire questo tipo di dati.

Esiste un buon modello per la memorizzazione di programmi ripetuti che si prestano a essere in grado di trovare i documenti che corrispondono alla pianificazione corrente, o dovrei semplicemente memorizzare i dati come crontab e fare tutti i calcoli in-app?

    
posta CodeChimp 23.12.2014 - 14:08
fonte

1 risposta

3

Penso che starai meglio solo memorizzando i dati così come sono; lascia che MongoDB operi la sua magia in più. Le strutture interne di Mongo dovrebbero gestire l'identificazione dei pattern ripetitivi per te, in base alle strutture coppie-valore-chiave che scegli di rappresentare i dati.

Il tentativo di creare i propri mezzi per identificare schemi ripetitivi duplica il lavoro che il DB non relazionale può fornire, ed è anche probabile che inizi a avvolgersi attorno all'asse per casi limite. Dovrai inoltre fornire quella funzionalità di traduzione per ogni voce di lavoro che desideri monitorare all'interno di MongoDB.

Per essere più specifici, sto suggerendo di impostare una coppia di valori chiave per ciascuno dei campi tradizionali utilizzati nella specifica del lavoro cron. Quindi una data voce di lavoro nel tuo schema MongoDB avrebbe valori per frequenza, minuto, ora, giorno, ecc ...

Le tue query sarebbero quindi in grado di verificare "dove frequenza è uguale a ..." e "dove giorno è uguale a ..." e così via.

Se guardi questo tutorial di mongodb su query di timestamp , scoprirai che è piuttosto banale specificare intervalli per trovare schemi ricorrenti all'interno dei dati. E mentre il tutorial è incentrato sulla ricerca di timestamp nei post del blog, sarebbe piuttosto semplice modificare le coppie chiave-valore utilizzate per riflettere i dati che hai dai lavori cron.

Se sei bloccato sul particolare formato dei dati, allora potresti anche voler dare un'occhiata a questa domanda StackOverflow come è abbastanza simile al tuo. La risposta accettata evidenzia la sintassi delle specifiche del lavoro cron standard e fornisce un collegamento ACM alla struttura dei dati di cron. Altre risposte suggeriscono altri formati come iCalendar.

    
risposta data 27.12.2014 - 21:26
fonte

Leggi altre domande sui tag