none
Processing Order RRS feed

  • Question

  • Hello all,

    i've got the following scenario :

    1 - Retrieve EDI files from Mailbox

    2 - Split files in individual messages/files

    3 - Validate each individual message/file

                          - Sucess : moves file to folder "A" , Transform file to another format, send file to output folder

                          - Error : moves file to folder "B", every 60 minutes, re-validate all files in folder "B" (do step 3 again)

    The problem here is : How to guarantee that the files with Error are Re-validated in the same order they were received/processed the first time?

    I have several files that are dependant on the validation status of another file, and the files sometimes are processed in the wrong order, so I get errors regarding the incorrect order of processing.

     

    Tuesday, December 16, 2014 3:48 PM

Answers

  • Instead of routing the 'error' messages to a file folder, where Order cannot be maintained, route them directly to a Sequential Convoy Orchestration that handles the 60 min delay.

    Mark the Orchestration Receive Port Ordered = true and they will be processed in the same order they were sent from the previous process.

    Keep in mind, Order must be maintained throughout the process so you will have to do the initial "Validate" with a Convoy as well.

    • Marked as answer by Angie Xu Tuesday, December 23, 2014 3:06 AM
    Tuesday, December 16, 2014 4:33 PM

All replies

  • Instead of routing the 'error' messages to a file folder, where Order cannot be maintained, route them directly to a Sequential Convoy Orchestration that handles the 60 min delay.

    Mark the Orchestration Receive Port Ordered = true and they will be processed in the same order they were sent from the previous process.

    Keep in mind, Order must be maintained throughout the process so you will have to do the initial "Validate" with a Convoy as well.

    • Marked as answer by Angie Xu Tuesday, December 23, 2014 3:06 AM
    Tuesday, December 16, 2014 4:33 PM
  • Better option would be child Orchestration having Sequential Convoy which can receive  failed message from parent Orchestration .

    The logic of validation need to be implemented inside  parent Orchestration and after validation it can send file to success folder or a child Orchestration .

    If you want to implement same with folder structure/messaging I doubt you wont be able to maintain file Order

    Thanks

    Abhishek

    Tuesday, December 16, 2014 6:39 PM
  • Well Sequential Convoy is recommended Option. However, for simplicity sake you can store the files in folder B postfixing the datetimestamp to the filename.

    And if your solution tends to use independent re-validate process, put the logic inside the re-validation orchestration to pick the files in required order.

    Hope this helps

    Wednesday, December 17, 2014 11:16 AM
  • Well Sequential Convoy is recommended Option. However, for simplicity sake you can store the files in folder B postfixing the datetimestamp to the filename.

    And if your solution tends to use independent re-validate process, put the logic inside the re-validation orchestration to pick the files in required order.

    Hope this helps


    Sorry, that will not work.
    • Edited by Johns-305MVP Wednesday, December 17, 2014 4:22 PM
    Wednesday, December 17, 2014 4:21 PM
  • If you don't want to implement sequential convoy orchestration due to whatever constraints I will suggest to consider using queue (MSMQ, or database etc). Queue is meant to maintain the order with persistence because file system is not a good choice in this case..

    If this answers your question please mark it as Answer and if this post is helpful, please vote as helpful. Thanks !

    Thursday, December 18, 2014 5:39 AM