namespace App\Commands;
use ADT\CommandLock\CommandLock;
use ADT\CommandLock\Storage\FileSystemStorage;
use Exception;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
abstract class Command extends \Symfony\Component\Console\Command\Command
{
use CommandLock;
private string $locksDir;
abstract protected function executeCommand(InputInterface $input, OutputInterface $output): int;
public function setLocksDir(string $locksDir)
{
$this->locksDir = $locksDir;
}
/**
* @throws Exception
*/
protected function execute(InputInterface $input, OutputInterface $output): int
{
$this->setStorage(new FileSystemStorage($this->locksDir));
$this->lock();
$status = $this->executeCommand($input, $output);
$this->unlock();
return $status;
}
}
AppsDevTeam/command-lock
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published