Rotating List With Orchestrator - Need Help

I have a program that needs to run in multiple different business units and there could be more than one robot running at the same time. So what I would like to do is create a list in orchestrator.

1.) Any time the robot initializes, it needs to pull the list down from the Orchestrator.
2.) Take the first item from that list and assign this as his current business unit.
3.) Move the first item in the list to the last item in the list.
4.) Push the reordered list back up to Orchestrator so that it can be used by the next robot.

I am unfamiliar with how to work with Assets in Orchestrator so any guidance would be greatly appreciated.

I did however develop a VB.NET program that reorders an Array if you’d like to plug this into VB.NET and see my method for reordering the array.

Sub Main(args As String())

    Dim a As String() = {"FLALAB", "METLAB", "DALLAB", "PHLLAB"}
    Dim list As New ArrayList(a)
    Dim firstItem As Object = list.Item(0)

    Console.Write("Start with our Array of QLS Business Units: ")
    Call WriteTextToConsole(list)

    Console.Write("Select the first Business Unit in the Array to work: ")

    Call WriteTextToConsole(list)
    Console.Write("Add that same Business Unit to the last item of the Array: ")

    Call WriteTextToConsole(list)
    Console.WriteLine("Now when there is two robots, they will never work the same Business Unit.")

End Sub

Sub WriteTextToConsole(list)
    For Each item In list
        Console.Write(item & ", ")
End Sub

The reason why I would like to use Orchestrator instead of a text file to do this is because I don’t want two robots accessing this file at the same time.

Will Orchestrator automatically prevent this from happening? What if an Asset is attempting to be accessed by the same two robots at the same time?