%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/laravel/horizon/src/Console/ |
Current File : /home/graphicd/public_html/vebto/vendor/laravel/horizon/src/Console/ClearCommand.php |
<?php namespace Laravel\Horizon\Console; use Illuminate\Console\Command; use Illuminate\Console\ConfirmableTrait; use Illuminate\Queue\QueueManager; use Illuminate\Support\Arr; use Laravel\Horizon\RedisQueue; use Laravel\Horizon\Repositories\RedisJobRepository; class ClearCommand extends Command { use ConfirmableTrait; /** * The name and signature of the console command. * * @var string */ protected $signature = 'horizon:clear {--queue= : The name of the queue to clear} {--force : Force the operation to run when in production}'; /** * The console command description. * * @var string */ protected $description = 'Delete all of the jobs from the specified queue'; /** * Execute the console command. * * @return int|null */ public function handle(RedisJobRepository $jobRepository, QueueManager $manager) { if (! $this->confirmToProceed()) { return 1; } if (! method_exists(RedisQueue::class, 'clear')) { $this->line('<error>Clearing queues is not supported on this version of Laravel</error>'); return 1; } $connection = Arr::first($this->laravel['config']->get('horizon.defaults'))['connection'] ?? 'redis'; $jobRepository->purge($queue = $this->getQueue($connection)); $count = $manager->connection($connection)->clear($queue); $this->line('<info>Cleared '.$count.' jobs from the ['.$queue.'] queue</info> '); return 0; } /** * Get the queue name to clear. * * @param string $connection * @return string */ protected function getQueue($connection) { return $this->option('queue') ?: $this->laravel['config']->get( "queue.connections.{$connection}.queue", 'default' ); } }