crazedsanity / lockfile
创建一个*.lock文件,例如锁定并发运行时的升级。
v0.1.3
2016-11-07 21:32 UTC
Requires
- php: >=5.3.0
- crazedsanity/filesystem: ^0.3
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以获取实现示例。