Question
Sun Life
CA
Last activity: 16 Dec 2021 12:35 EST
Queue Processor locking issue
Hi All,
I have a queue processor rule called in an activity using the Queue-for-Processing method. I am getting records using Obj-Browse and on each pxResults I am calling this queue processing step. To avoid an Obj-Open call on each record (as we have thousands of records to process every day) I am just trying to use the same pxResults page with a key property for queue processing. But Pega is throwing an error that the page has empty pzInskey property like below,
Enqueue to queue processor NotifyEligibilityAlert failed : The clipboard page passed to enqueue should have non empty pzInsKey when locking is enabled. |
I am using the "Key defined on Property" option for locking the pxResults page with a unique property. As this is an external table which has no pzInsKey why Pega is asking for pzInsKey property? When I use Obj-Open with "Primary Page" option in the Queue-For-Processing method it's working fine because we are getting pzInsKey property on the page. Could some one please help me? We are using Pega version 8.2.2.
Thanks in advance.
@DurgaPrasadBali Generally we use locking if we want to re-open the record from the DB table instead of processing with the current snapshot page that is available to the Queue Processor while queuing. Which means it will re-open the instance from the DB table based on the primary key or pzInsKey and will execute on the latest information that is retrieved from the DB. Locking might work differently in Queue Processors compared to agents.
Following might be useful:
https://community.pega.com/knowledgebase/articles/system-administration/84/queue-processing-method
https://community.pega.com/knowledgebase/articles/whats-new-pega-platform/control-locking-and-retry-mechanisms-background-processes-83