>Another approach you can take is more complicated but more powerful/general. What you do is create a separate process, which is responsible (in this case) for deleting files. You then feed this process with a queue of file deletion requests. Since only one process is responsible for deleting files there cannot be any contention issues.
Yes, this is what we have for several processes that are running every minute. But, in this case, it has to be live as the structure of the file name and other components are to be like this.