crazedsanity/lockfile

创建一个*.lock文件,例如锁定并发运行时的升级。

v0.1.3 2016-11-07 21:32 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:56:56 UTC


README

这个类旨在避免某个进程(如升级,例如cs_webdbupgrade)的多个实例相互“踩踏”。在系统某处创建一个可读可写的锁文件,操作完成后将其删除。如果操作无法完成(因为再次尝试可能会失败,或者会变得更糟),文件应该保留。

use crazedsanity\lockfile\LockFile;

$lock = new LockFile('/path/to/rw/dir', 'file.lock');

if(!$lock->is_lockfile_present()) {
	$lock->create_lockfile($upgradeWording);
	
	// ... do some stuff...
	// Only delete the lockfile if it all succeeded
	$lock->delete_lockfile();
}
else {
	throw new exception($lock->read_lockfile());
}

您可能想查看Web DB Upgrade以获取实现示例。