Domanda

Sto cercando di introdurre il broker di servizi SS,

Ho un database di ordini remoti e un database di elaborazione locale, tutte le attività nel database di elaborazione devono avvenire in sequenza, questo sembra un lavoro perfetto per il broker di servizi!

Ho impostato l'infrastruttura, posso inviare e ricevere messaggi e ora sto guardando la progettazione dell'elaborazione. Come ho detto, tutti i processi per un ordine devono essere completati in sequenza, quindi li metterò in una conversazione.

Uno di questi processi è una richiesta di dati di file flat esterni, quindi aspettiamo (potrebbero essere diversi giorni) e quindi importare ed elaborare questo file al momento del ritorno. Come posso elaborare la metà delle attività, quindi attendere che il file flat ritorni prima di elaborare l'altra metà.

Ho avuto alcune idee ma sono sicuro che mi manca un trucco da qualche parte

1) Scrivi tutti gli elementi in coda su una tabella di stato e usa i valori di stato - sembra rimuovere parte della flessibilità di SSSB e aggiungere un altro livello di attività

2) Tieni la transazione aperta fino a quando non riavvremo i dati - non l'ideale

3) Avere l'attività di importazione del file flat che si sonda continuamente affinché il file venga visualizzato - questo sembra inefficiente

Qual è il modo più efficiente di gestire questo flusso di lavoro? Grazie in anticipo

È stato utile?

Soluzione

Secondo me è come una catena di responsabilità. Per quanto posso capire, abbiamo il seguente flusso di lavoro.

1.) Processo per il messaggio.

2.) Attendere file esterni, ora questa può essere un'attesa impegnata o se i dati esterni ti forniscono una notifica, allora possiamo effettivamente farlo in modo non impollvivo.

3.) Una volta ricevuti i dati, elabora i dati.

Quindi il mio suggerimento sarebbe quello di utilizzare 3 diverse code una per ogni parte, quando uno viene eseguito inoltrerà o metterà un nuovo messaggio in coda incatenata.

Suppongo che un elaborazione di un ordine non interromperà un altro elaborazione dell'ordine.

Sto pensando che MSMQ con il flusso di lavoro sequenziale di Windows potrebbe anche essere un candidato per questa attività.

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