Skip to content

autoframe/process-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autoframe is a low level framework that is oriented on SOLID flexibility

Build Status License: The 3-Clause BSD License Packagist Version Downloads

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;
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages