Abbiamo un sistema di coda di lavoro che elaborerà allegramente qualsiasi tipo di lavoro dato ad esso. Intendiamo usarlo per elaborare lavori che contengono ciascuno 2 compiti:
- Job (passa le informazioni da un server a un altro)
- Recupera attività (ottieni i dati, lentamente)
- Invia attività (invia i dati, relativamente rapidamente)
La difficoltà che stiamo riscontrando è che non sappiamo se suddividere le attività in lavori separati o elaborare il lavoro in un'unica soluzione.
Esistono buone pratiche o riferimenti utili su questo argomento? C'è qualche ovvio beneficio per un metodo che ci manca?
Finora possiamo vedere questi vantaggi per ogni metodo:
Spalato
- La lunghezza del lease del lavoro riflette la lunghezza del lavoro: invece del totale di due
- Granularità più fine per il recupero: se perdiamo la connettività in uscita possiamo dire a tutti di riprovare
- Lo stato iniziale della seconda attività viene salvato nella cronologia del processo: aiuta con il debug (sebbene la registrazione simile possa essere aggiunta nel metodo di una singola attività)
Singolo
- Singolo lavoro da pianificare: meno spese generali di elaborazione
- Dati non aggiornati sul ripristino: se il tempo di inattività in uscita è piuttosto lungo, i lavori di invio in sospeso potrebbero essere obsoleti