http://www.perlmonks.org?node_id=1021878


in reply to one script at a time (race condition)

david2008:

I see you already have your problem solved. I wanted to mention, though, that instead of using a file, you could use the database itself. At the start of the run, check whether a lock entry exists in the table. If not, add an entry to the table. Do it in a transaction so you can avoid any race conditions. Then, when the run ends, delete the entry.

I only mention it because you're already pounding on the database.

...roboticus

When your only tool is a hammer, all problems look like your thumb.