Open vcase opened 6 years ago
For people with this need (detect and release stale locks after a timeout), you might want to have a look at our Pool Boy https://github.com/Pix4D/concourse-pool-boy, which is meant to run as a separate pipeline.
Seem https://github.com/Pix4D/concourse-pool-boy git repo is no longer there, is it still available?I need to regularly detect stale locks and release them. Thanks.
hello @lxiaopei, I think we made that repo private by mistake. I am checking it. Feel free to ping in a few days if I don't answer.
The repo https://github.com/Pix4D/concourse-pool-boy is again public.
We have forked this resource to support a "max_minutes" attribute used to (unceremoniously) move claimed locks back to unclaimed if it is held for longer than this threshold. Perhaps this would be a desirable feature in the standard resource. We perform this clean-up as follows
1- Perform cleanup from "check" since the ATC runs only a single instance of this at a time 2- Check the timestamp of the last commit that touched this lock 3- If the max_minutes threshold is exceeded, unclaim the lock 3b- If the "unclaim" operation fails due to a (very possible) conflict, do not retry until the next check (to keep check running relatively quickly)