PHP 8.3.31
Preview: ScheduleWorkCommand.php Size: 2.15 KB
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleWorkCommand.php

<?php

namespace Illuminate\Console\Scheduling;

use Illuminate\Console\Application;
use Illuminate\Console\Command;
use Illuminate\Support\Carbon;
use Illuminate\Support\ProcessUtils;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Process\Process;

#[AsCommand(name: 'schedule:work')]
class ScheduleWorkCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'schedule:work {--run-output-file= : The file to direct <info>schedule:run</info> output to}';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Start the schedule worker';

    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $this->components->info(
            'Running scheduled tasks.',
            $this->getLaravel()->environment('local') ? OutputInterface::VERBOSITY_NORMAL : OutputInterface::VERBOSITY_VERBOSE
        );

        [$lastExecutionStartedAt, $executions] = [Carbon::now()->subMinutes(10), []];

        $command = Application::formatCommandString('schedule:run');

        if ($this->option('run-output-file')) {
            $command .= ' >> '.ProcessUtils::escapeArgument($this->option('run-output-file')).' 2>&1';
        }

        while (true) {
            usleep(100 * 1000);

            if (Carbon::now()->second === 0 &&
                ! Carbon::now()->startOfMinute()->equalTo($lastExecutionStartedAt)) {
                $executions[] = $execution = Process::fromShellCommandline($command);

                $execution->start();

                $lastExecutionStartedAt = Carbon::now()->startOfMinute();
            }

            foreach ($executions as $key => $execution) {
                $output = $execution->getIncrementalOutput().
                    $execution->getIncrementalErrorOutput();

                $this->output->write(ltrim($output, "\n"));

                if (! $execution->isRunning()) {
                    unset($executions[$key]);
                }
            }
        }
    }
}

Directory Contents

Dirs: 0 × Files: 19

Name Size Perms Modified Actions
238 B lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
2.92 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
1.68 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
4.76 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
2.32 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
21.45 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
685 B lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
4.62 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
14.48 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
2.11 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
12.55 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
1.15 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
1.35 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
1.26 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
9.00 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
7.25 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
3.38 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
2.15 KB lrw-rw-rw- 2025-09-17 06:52:57
Edit Download
658 B lrw-rw-rw- 2025-09-17 06:52:57
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).