Extending the work lock

Pega's standard lock function is to simply set a lock to expire at a set duration from when the lock is acquired (the standard 2 hours can be customized).

What we need instead is a way to just extend the lock ahead 30 minutes-- either as a result of the user making updates to the form, or explicitly acknowledging that they wish to extend it. (Obj-Refresh-And-Lock is unsatisfactory since it reloads the object from the database, clobbering the clipboard version).

Is there any OOTB function for this? Or shall we just write a function to update the entry in System-Locks directly?


**Moderation Team has archived post**

This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.


Keep up to date on this post and subscribe to comments

December 15, 2010 - 4:40pm

Updating the database record directly didn't quite work.
So we are just calling lock() to extend the lock.

December 16, 2010 - 3:34am

Hi Jon,

can't we update the Data-Admin-System instance directly where you have the option "lock time out" for workobject locking.correct me if im wrong.


December 16, 2010 - 10:07am

misinterpreted the post(thought of only work object locking..not extended :))....thanks for the info Jon..

December 16, 2010 - 10:10am

re: can't we update the Data-Admin-System instance directly where you have the option "lock time out" for workobject locking.

Do what you want.
What we need to do is to individually update the lock time for each item. Calling lock() on a locked item does the trick.


February 24, 2014 - 11:33am

Hello Jon,




I have a similar requirement of auto extending the lock on work object. Can you elaborate on how did you use the lock()?




February 24, 2014 - 12:36pm

lock() will re-acquire the lock for the designated period of time (the defined lock timeout)

July 1, 2014 - 6:36am

Hi Jonny,


  Did you use lock api to achieve this... In what parameter did u set the new expiry time... is it pxExpireDateTime?

January 16, 2015 - 4:34pm

We used the LockManager API for this.

Though it looks like this no longer works in v7 due to lock caching.

January 17, 2015 - 10:25pm

Hi Jonny ,

Looks like this DSS setting will disable lock caching 


Owning RuleSet: Pega-Engine

Setting Purpose : prconfig/database/lockcache/enabled/default

Value                  : false


I'm yet to test this though.

January 20, 2015 - 8:53am

awesome, thanks! of course!

January 21, 2015 - 3:25pm

Are you sure that's the setting? I'm not sure the trailing "/default" belongs there.

We're trying a number of variations to get this enabled. Our Pega sales consultant is looking into this as well for us.

January 21, 2015 - 8:05pm

This was given to us by pega system for work lock issue in mulitinode environment , when a user unlock a case it takes max 30 secs to unlock(until system pulse runs again and update the cache in all node).So the pega engineer suggested this setting. I tested this in our test region and it worked for us.   We are in using 6.3 though not v7.

January 29, 2015 - 12:39pm

I believe that as a Data-Admin-System-Setting what is needed is database/lockcache/enabled.

February 16, 2015 - 12:42pm

you are right , the setting I gave is not working in environments which has more than 2 nodes. I have contacted the pega engineer and he is checking on that. I think what you have given here(database/lockcache/enabled) might be the correct setting. does this setting works for you ? I will be testing with this in this week.

February 16, 2015 - 9:04pm

Yes, that's correct. 

We have been asking Pega to better explain whether they want to support lock extensions going forward.

September 24, 2015 - 1:21pm


Were you able to successfull test with "database/lockcache/enabled"?

September 24, 2015 - 4:18pm

It didn't work for us.

And as per the below article both the setting are correct 


November 11, 2016 - 2:52pm

" ...We have been asking Pega to better explain whether they want to support lock extensions going forward."


- is there any update on this ? Guess there is no way to extend the lock-expiry 7 onward. LockManager API methods do not give the result - as mentioned in this post.