Blog スタッフブログ

PHP システム開発

[PHP]ファイルを用いた排他制御

システム開発担当のTFです。

やり方

  • 処理開始時にロック用のファイルを作成する
  • 処理終了時にロック用のファイルを削除する
  • 処理開始時にファイルがあれば、前の同一処理が動いてる為処理を終了や待ったりする

メモ

cron等での多重実行を防ぐ等で使う
ロック解除前に何等かで落ちた場合の対策もした方が良い

サンプル

<?php
	$lockFile = "./lock";
	
	// ロック用のファイルチェック あれば処理終了
	if( file_exists($lockFile) ) exit;
	
	// ロック用ファイル作成
	touch($lockFile);
	
	// 排他制御でする処理
	
	// ロック用のファイル削除
	unlink($lockFile);
	
?>