File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/laravel/framework/src/Illuminate/Console
Upload
[..]
Application.php (9.3 KB)
Edit
Rename
Del
Attributes/
Rename
Del
BufferedConsoleOutput.php (762 B)
Edit
Rename
Del
CacheCommandMutex.php (3.59 KB)
Edit
Rename
Del
Command.php (10.48 KB)
Edit
Rename
Del
CommandMutex.php (647 B)
Edit
Rename
Del
Concerns/
Rename
Del
ConfirmableTrait.php (1.38 KB)
Edit
Rename
Del
ContainerCommandLoader.php (1.85 KB)
Edit
Rename
Del
Contracts/
Rename
Del
Events/
Rename
Del
GeneratorCommand.php (13.96 KB)
Edit
Rename
Del
LICENSE.md (1.05 KB)
Edit
Rename
Del
ManuallyFailedException.php (127 B)
Edit
Rename
Del
MigrationGeneratorCommand.php (2.43 KB)
Edit
Rename
Del
OutputStyle.php (4.5 KB)
Edit
Rename
Del
Parser.php (4.63 KB)
Edit
Rename
Del
Prohibitable.php (956 B)
Edit
Rename
Del
PromptValidationException.php (122 B)
Edit
Rename
Del
QuestionHelper.php (2.57 KB)
Edit
Rename
Del
Scheduling/
Rename
Del
Signals.php (3.44 KB)
Edit
Rename
Del
View/
Rename
Del
composer.json (1.71 KB)
Edit
Rename
Del
resources/
Rename
Del
Edit: CacheCommandMutex.php
<?php namespace Illuminate\Console; use Carbon\CarbonInterval; use Illuminate\Cache\DynamoDbStore; use Illuminate\Contracts\Cache\Factory as Cache; use Illuminate\Contracts\Cache\LockProvider; use Illuminate\Support\InteractsWithTime; class CacheCommandMutex implements CommandMutex { use InteractsWithTime; /** * 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) { $store = $this->cache->store($this->store); $expiresAt = method_exists($command, 'isolationLockExpiresAt') ? $command->isolationLockExpiresAt() : CarbonInterval::hour(); if ($this->shouldUseLocks($store->getStore())) { return $store->getStore()->lock( $this->commandMutexName($command), $this->secondsUntil($expiresAt) )->get(); } return $store->add($this->commandMutexName($command), true, $expiresAt); } /** * Determine if a command mutex exists for the given command. * * @param \Illuminate\Console\Command $command * @return bool */ public function exists($command) { $store = $this->cache->store($this->store); if ($this->shouldUseLocks($store->getStore())) { $lock = $store->getStore()->lock($this->commandMutexName($command)); return tap(! $lock->get(), function ($exists) use ($lock) { if ($exists) { $lock->release(); } }); } 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) { $store = $this->cache->store($this->store); if ($this->shouldUseLocks($store->getStore())) { return $store->getStore()->lock($this->commandMutexName($command))->forceRelease(); } return $this->cache->store($this->store)->forget($this->commandMutexName($command)); } /** * Get the isolatable command mutex name. * * @param \Illuminate\Console\Command $command * @return string */ protected function commandMutexName($command) { $baseName = 'framework'.DIRECTORY_SEPARATOR.'command-'.$command->getName(); return method_exists($command, 'isolatableId') ? $baseName.'-'.$command->isolatableId() : $baseName; } /** * Specify the cache store that should be used. * * @param string|null $store * @return $this */ public function useStore($store) { $this->store = $store; return $this; } /** * Determine if the given store should use locks for command mutexes. * * @param \Illuminate\Contracts\Cache\Store $store * @return bool */ protected function shouldUseLocks($store) { return $store instanceof LockProvider && ! $store instanceof DynamoDbStore; } }
Simpan