Thursday - last edited Thursday
Hey Hi Community,
Hope you can help me optimize a process flow that I am currently working on
We are working on a project with two distinct work queues: Queue 1 and Queue 2. Queue 2 is dependent on the completion of cases in Queue 1 for the majority of requests, though not all. To clarify the setup:
Due to infrastructure constraints, each document upload must be submitted as a separate request hence multiple request in Queue 2. This means one account creation in Queue 1 can correspond to up to 50 document upload requests in Queue 2. Document uploads can only proceed once the account is successfully created.
We have divided our bots into two groups:
Additionally, there are cases where accounts are created manually by users, and only document uploads are needed.
So in these two cases, bots check if the account creation request exists and completed in Queue 1. If it does, they proceed with document uploads; if not completed , then they defer document upload requests for one hour before retrying. If no account creation request exists, then bots proceed directly with document uploads.
Our bots received request between 20-hour window daily. On average, Queue 1 processes about 500 cases per day, while Queue 2 handles around 3,000 cases.
Apart from this both type of cases take around 10 minutes , really difficult to reduce it
Currently, we run both bot groups every 20 minutes, which has led to several challenges:
Given this complexity, I would greatly appreciate any insights or recommendations on how to streamline this process. or any strategies, such as using active queues,dynamic resource allocation or other optimizations, that could help us improve efficiency, reduce maintenance overhead, and better manage workload spikes?
Thank you in advance community
Friday
Although Complex, to me it seems like you could simplify it to have just 1 queue with both the initial account creation and create a nested Collection within your data item to then process the uploads after the initial account creation has been completed. You can change the status of the Item from say Pending to Account Created and then finally Documents uploaded. You can take it from End to End in the same process and use all your bots without delay.
Friday
Thank you for the suggestion @greggoodrem . We were also initially considering this same approach.
However, I believe it might be a bit challenging to manage because the main concern is that both requests do not arrive simultaneously. For example, we often receive account creation request first, and corresponding documents may arrive a few hours later.
Additionally, there are several other scenarios to consider:
Due to these various factors, we have opted to use two separate queues to handle these processes more effectively.
Friday
@Ezio.. I see your predicament you could set a deferral if the documents are not present after account creation and they get picked up later if you need a couple of hours.
If there are new documents to be added to your queue you would just mark them with a status to bypass the account creation. Really depends on your process build structure.
Might be worth looking at your process with the end in mind and working back from there, ultimately the bots seem to be doing the work right but the order of work is the issue right?! So if you prioritise that then at least you will see what capacity your workers. I suppose the only other issue is looking at reducing the time per item worked.