Hacker News new | ask | show | jobs
by pinkunicorn 3783 days ago
I'm actually exploring the usage of Redlock in one my projects and the first question I've is - How can you count on a program to end in a given time? That feels similar to Halting problem. The only option I've is to use an external program to kill the program that's using the lock after the lock's expiration period.
2 comments

Note: you have the same issue with all the other dist locks with auto-release. If you have a mission critical use case you could:

1. Try real time kernel extensions.

2. Try a time bomb or watchdog process as you suggested.

3. Put monitoring systems to avoid load to go over a certain level.

4. Tune the Linux scheduler params.

5. Use TTLs that are comparatively very large compared to the work you need to do with the lock hold.

You don't have to count on a programing ending in a given time. You require the program to renew the lock if it fails to complete in sufficient time.