RestartCommand.php
TLDR
This file contains the RestartCommand
class which is responsible for restarting the queue worker daemons after they finish their current job.
Methods
handle
This method is responsible for executing the console command. It restarts the queue worker daemons by storing the current time in the cache and broadcasting a queue restart signal.
Classes
RestartCommand
The RestartCommand
class extends the Command
class and is used to restart the queue worker daemons after their current job. It has the following properties:
-
$name
: The name of the console command (queue:restart
). -
$description
: The description of the console command (Restart queue worker daemons after their current job
). -
$cache
: The cache store implementation.
Note: There are no other classes in the file.
<?php
namespace Illuminate\Queue\Console;
use Illuminate\Console\Command;
use Illuminate\Contracts\Cache\Repository as Cache;
use Illuminate\Support\InteractsWithTime;
use Symfony\Component\Console\Attribute\AsCommand;
#[AsCommand(name: 'queue:restart')]
class RestartCommand extends Command
{
use InteractsWithTime;
/**
* The console command name.
*
* @var string
*/
protected $name = 'queue:restart';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Restart queue worker daemons after their current job';
/**
* The cache store implementation.
*
* @var \Illuminate\Contracts\Cache\Repository
*/
protected $cache;
/**
* Create a new queue restart command.
*
* @param \Illuminate\Contracts\Cache\Repository $cache
* @return void
*/
public function __construct(Cache $cache)
{
parent::__construct();
$this->cache = $cache;
}
/**
* Execute the console command.
*
* @return void
*/
public function handle()
{
$this->cache->forever('illuminate:queue:restart', $this->currentTime());
$this->components->info('Broadcasting queue restart signal.');
}
}