The ensure single currently waits for a process to clean itself up.
This does not happen in all cases:
- a worker dies
- A shell running decorated code is killed
It will also prevent the shell from mingling with tasks as tasks executed directly place the lock still but a worker restart will clear its entry.