autoframe / process-control
Process child worker, execution lock check, Autoframe Framework
1.0.1
2024-04-04 10:35 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: >=9.6
README
PHP worker instance create and inter process lock check Autoframe Framework
/** Concrete implementation that uses the php temporary folder to store the lock */ namespace Autoframe\Process\Control\Lock; class AfrLockFileClass implements AfrLockInterface ... interface AfrLockInterface { /** Check if the lock is in place */ public function isLocked(): bool; /** Creates a new lock or fails */ public function obtainLock(): bool; /** Returns false if lock is in place and the lock file can't be closed * Returns true if there is no lock in place or operation was successfully made */ public function releaseLock(): bool; /** Returns Process ID for the lock thread or zero if other case */ public function getLockPid(): int; }
/** Concrete implementation for create (spawn) worker process in background */ namespace Autoframe\Process\Control\Worker\Background; class AfrBackgroundWorkerClass implements AfrBackgroundWorkerInterface ... interface AfrBackgroundWorkerInterface { /** Returns /usr/bin/php or C:\xampp\php\php.exe or php */ public static function getPhpBin(): string; /** Calls: php $execFileArgs > /dev/null & or widows equivalent start /B */ public static function execWithArgs(string $execFileArgs): void; }