webshell
Ghost Exploiter Team Official
Mass Deface
Directory >>
/
home
/
whitjouh
/
public_html
/
core
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Queue
/
Console
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
+New File
stubs
--
ren
BatchesTableCommand.php
0.931KB
edt
ren
ClearCommand.php
2.729KB
edt
ren
FailedTableCommand.php
0.923KB
edt
ren
FlushFailedCommand.php
0.984KB
edt
ren
ForgetFailedCommand.php
0.886KB
edt
ren
ListFailedCommand.php
2.895KB
edt
ren
ListenCommand.php
4.033KB
edt
ren
MonitorCommand.php
3.749KB
edt
ren
PruneBatchesCommand.php
1.994KB
edt
ren
PruneFailedJobsCommand.php
1.206KB
edt
ren
RestartCommand.php
1.259KB
edt
ren
RetryBatchCommand.php
1.645KB
edt
ren
RetryCommand.php
5.46KB
edt
ren
TableCommand.php
0.903KB
edt
ren
WorkCommand.php
9.65KB
edt
ren
<?php namespace Illuminate\Queue\Console; use Illuminate\Console\Command; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\Queue\Factory; use Illuminate\Queue\Events\QueueBusy; use Illuminate\Support\Collection; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'queue:monitor')] class MonitorCommand extends Command { /** * The console command name. * * @var string */ protected $signature = 'queue:monitor {queues : The names of the queues to monitor} {--max=1000 : The maximum number of jobs that can be on the queue before an event is dispatched}'; /** * The console command description. * * @var string */ protected $description = 'Monitor the size of the specified queues'; /** * The queue manager instance. * * @var \Illuminate\Contracts\Queue\Factory */ protected $manager; /** * The events dispatcher instance. * * @var \Illuminate\Contracts\Events\Dispatcher */ protected $events; /** * Create a new queue monitor command. * * @param \Illuminate\Contracts\Queue\Factory $manager * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function __construct(Factory $manager, Dispatcher $events) { parent::__construct(); $this->manager = $manager; $this->events = $events; } /** * Execute the console command. * * @return void */ public function handle() { $queues = $this->parseQueues($this->argument('queues')); $this->displaySizes($queues); $this->dispatchEvents($queues); } /** * Parse the queues into an array of the connections and queues. * * @param string $queues * @return \Illuminate\Support\Collection */ protected function parseQueues($queues) { return collect(explode(',', $queues))->map(function ($queue) { [$connection, $queue] = array_pad(explode(':', $queue, 2), 2, null); if (! isset($queue)) { $queue = $connection; $connection = $this->laravel['config']['queue.default']; } return [ 'connection' => $connection, 'queue' => $queue, 'size' => $size = $this->manager->connection($connection)->size($queue), 'status' => $size >= $this->option('max') ? '<fg=yellow;options=bold>ALERT</>' : '<fg=green;options=bold>OK</>', ]; }); } /** * Display the queue sizes in the console. * * @param \Illuminate\Support\Collection $queues * @return void */ protected function displaySizes(Collection $queues) { $this->newLine(); $this->components->twoColumnDetail('<fg=gray>Queue name</>', '<fg=gray>Size / Status</>'); $queues->each(function ($queue) { $name = '['.$queue['connection'].'] '.$queue['queue']; $status = '['.$queue['size'].'] '.$queue['status']; $this->components->twoColumnDetail($name, $status); }); $this->newLine(); } /** * Fire the monitoring events. * * @param \Illuminate\Support\Collection $queues * @return void */ protected function dispatchEvents(Collection $queues) { foreach ($queues as $queue) { if ($queue['status'] == '<fg=green;options=bold>OK</>') { continue; } $this->events->dispatch( new QueueBusy( $queue['connection'], $queue['queue'], $queue['size'], ) ); } } }
<=Back
Liking