Server IP : 23.254.227.96 / Your IP : 216.73.216.46 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/viralblo/instantblog/vendor/laravel/framework/src/Illuminate/Console/ |
Upload File : |
<?php namespace Illuminate\Console; use Carbon\CarbonInterval; use Illuminate\Contracts\Cache\Factory as Cache; class CacheCommandMutex implements CommandMutex { /** * The cache factory implementation. * * @var \Illuminate\Contracts\Cache\Factory */ public $cache; /** * The cache store that should be used. * * @var string|null */ public $store = null; /** * Create a new command mutex. * * @param \Illuminate\Contracts\Cache\Factory $cache */ public function __construct(Cache $cache) { $this->cache = $cache; } /** * Attempt to obtain a command mutex for the given command. * * @param \Illuminate\Console\Command $command * @return bool */ public function create($command) { return $this->cache->store($this->store)->add( $this->commandMutexName($command), true, method_exists($command, 'isolationLockExpiresAt') ? $command->isolationLockExpiresAt() : CarbonInterval::hour(), ); } /** * Determine if a command mutex exists for the given command. * * @param \Illuminate\Console\Command $command * @return bool */ public function exists($command) { return $this->cache->store($this->store)->has( $this->commandMutexName($command) ); } /** * Release the mutex for the given command. * * @param \Illuminate\Console\Command $command * @return bool */ public function forget($command) { return $this->cache->store($this->store)->forget( $this->commandMutexName($command) ); } /** * @param \Illuminate\Console\Command $command * @return string */ protected function commandMutexName($command) { return 'framework'.DIRECTORY_SEPARATOR.'command-'.$command->getName(); } /** * Specify the cache store that should be used. * * @param string|null $store * @return $this */ public function useStore($store) { $this->store = $store; return $this; } }