I have a process that goes through a dataset and creates queue items for each part that needs to be processed. So what happens is that this process puts about 500 queue items into the queue within about 30 seconds.
I have then created a queue trigger (max 4 jobs) that triggers from this queue and calls another process. Here are my questions
In the process that is triggered from the queue is there an argument that is passed to the process from the orchestrator to tell me which queue item triggered the process? or do I just use a “Get Transaction Item” to get the next item in the queue?
In this scenario the queue triggers 4 processes to run but then doesn’t trigger any others. I still have 496 items in the queue but it hasn’t triggered any additional processes. What is wrong here?
UPDATE: for Q2 above - it seems to trigger another 4 every 30 mins or so. Is there a way for the trigger to just keep going as soon as the previous job has been completed?
We have a bunch of bot licenses (I have 4 assigned to this group)
I’m not using the RE framework. My code does not check for other items in the queue as I assumed it would make sense to let the orchestrator create new jobs so the load can be distributed. Are you saying that is not the case?
I have a process that puts items in the queue - nothing else - it adds 400+ items within 30 seconds. The queue trigger calls another process that will take the queue items and actually do the analysis - it then marks the item as successful.
My questions are
When the queue trigger calls the process does it pass details of the queue items that caused the trigger to fire?
If there are items in the queue why does the orchestrator seem to wait 30 minutes to trigger another batch of processes?
Q1: I would strongly suggest using the RE framework.
It sounds like your solution doesn’t check for more queue items at the end of the process. You will need to add a check / obtain new item step from Queue and process (making a loop).
Q2: Queue triggers check the Queue every 30mins (on the hour and half hour from my experience).
ok. So it sounds like the queue trigger does not include an argument for the item being referenced. The queue item just starts a process and expects the process to start figuring out what to process.
If I am just looping within a process then I never let the bot stop to process other jobs. Doesn’t seem like a good way to process events.
This is why the RE Framework is recommended. The RE Framework will check for a stop command (from Orch) between each transaction item from the Queue. It would then begin again from Queue Trigger.