排他ロックなんて、いまさら公開するまでも無いですが、無くすたびに思い出すのが面倒なのでここに書いておきます。
ちなみに、ロックファイルにはディレクトリを使用しているので Unix、Windows を問わず使えます。
商用/非商用を問わず、自由にコピーして使ってください。
最近、サーバにも SSD を使うことが増えてきました。
SSD のシステムではストレージに負荷をかけないよう、ロックファイルの保存先として
Linux では tmpfs を、Windows では RAM ディスクを使用してください。
exLock.py 文字コードは UTF-8 です。
使い方は、./lock_tmp/ (777) というディレクトリを作成したとして、こんな感じ
(A) は CGI の場合、プロセスの終了時にデストラクタが呼ばれるので、書く必要が無いという意味です。
import exLock lock = exLock.exLock("./lock_tmp/lockDir.LCK") lock_success = lock.lock() if lock_success == True: '''ロック中に実行する処理''' lock.unlock() # --- 通常は書かない (A)