Quali sono le considerazioni necessarie durante lo sviluppo di Cron Jobs (Operazioni pianificate)

2

Sto lavorando a un sito Web che presenta una sezione che mostra i dati di borsa dell'azienda e i dati relativi agli investitori. Questi dati vengono recuperati tramite chiamate all'API SOAP pianificate.

Ho creato due attività pianificate per ottenere ciò:

  1. feth-data (ogni 10 minuti): recupera i dati e li memorizza in cron_last_trade_price_graph di un grafico che rappresenta l''ultimo prezzo di vendita' in relazione al tempo durante il giorno
  2. end-day (alla fine di ogni giorno): pulisce i record di dati obsoleti (ultimi due giorni) di cron_last_trade_price_graph e recupera i dati per ripristinarli in cron_historical_data che i dati saranno utilizzati per popolare la tabella e il grafico dei dati storici che mostra il "Prezzo di chiusura" per lo stock nel tempo

Questa è la prima volta che ho dovuto utilizzare le attività di pianificazione e, poiché sto lavorando con dati importanti, devo assicurarmi che la mia implementazione sia solida ed evitare qualsiasi problema.

Quindi generalmente la mia domanda è: quali sono le considerazioni (le cose da fare e quelle da non fare) quando si lavora con un'applicazione che dipende dalle attività programmate?

Ad esempio:

  1. Se il server non riesce a eseguire un'attività pianificata (ad esempio end-day ). Qual è l'approccio migliore per riprovare a eseguire tale compito?
    Soluzione possibile : Creazione di una riga segnaposto per il giorno successivo, i cui dati devono essere recuperati e archiviati, con una colonna is_historical_data_row_successfully_added con valore predefinito 'NO' e quindi creare un'altra operazione pianificata ( fix-historical-data ) per verificare se tale segnaposto la riga è stata popolata correttamente e se non è compilata.
    Preoccupazione : cosa succede se anche fix-historical-data non è riuscita? Quindi sarebbe meglio pianificare fix-historical-data per es. 3 volte durante il giorno? Mi sembra una soluzione piuttosto sporca.
  2. L'applicazione deve essere riavviata per ogni operazione pianificata? : l'applicazione utilizza Wordpress come CMS. Devo eseguire il bootstrap di Wordpress per fetch-data mentre potrebbe a malapena necessitare della funzionalità di Wordpress? Devo eseguire il bootstrap di Wordpress quando l'attività dipende pesantemente da esso e non da bootstrap di Wordpress quando l'attività non viene eseguita? Qual è la migliore pratica qui?
  3. Struttura del codice : le attività pianificate dovrebbero avere una directory indipendente? O il suo file e le sue dipendenze devono essere mescolati con altri file dell'applicazione?

Queste sono le preoccupazioni a cui posso pensare al momento. Ci sono altre considerazioni di cui devo essere a conoscenza?

    
posta 7asobate- 28.09.2018 - 04:40
fonte

0 risposte

Leggi altre domande sui tag