I have a requirement where I am queueing the case to a particular dedicated queue processor. After queueing, when a particular condition is satisfied, the queued item should not be executed.
For this, as the queued items are in System-Message-QueueProcessor-DelayedItem class until they are processed to kafka topic, I am trying to run a report and get the pzInskey of the queued instances and doing Obj-Delete-By-Handle.
Above process is working fine as per our requirement but the issue it is working fine for the operators who have sysadm4 role. Other operators do not have permissions to read and delete instances of above mentioned class.
I would like to know if there is already pega provided OOTB way or any other method to achieve the above mentioned requirement
So in this case, try to create a new ARO on giving the access to the class:System-Message-QueueProcessor-DelayedItem. Then add this to the acess group to users who allowed to delete the instances.
I’ve already tried creating a new ARO and giving it to the access group and it is working as expected. However, wondering if giving privileges to end customer for admin tasks is a best practice? So, wanted to check if there is any other best approach to achieve this
For another approach, Instead of deleting the queued items, if the logic which decides the item to be processed or not, can be placed in the QP activity and items can be marked as ‘No Processing required’ if it satisfies the business logic. Also, do not lock the item unless it needs to be processed.