Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel任务调度未运行所有命令_Php_Laravel - Fatal编程技术网

Php Laravel任务调度未运行所有命令

Php Laravel任务调度未运行所有命令,php,laravel,Php,Laravel,在我的开发环境中,我使用的是Laravel Homestead。我有一大堆我经常使用的命令 Kernel.php: protected function schedule(Schedule $schedule) { $schedule->command('disposable:update')->weekly(); $schedule->command('command:randomusercreatesubmission')->withoutOverla

在我的开发环境中,我使用的是Laravel Homestead。我有一大堆我经常使用的命令

Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('disposable:update')->weekly();
    $schedule->command('command:randomusercreatesubmission')->withoutOverlapping()->everyTenMinutes();
    $schedule->command('command:randomusercreatecomment')->withoutOverlapping()->everyMinute();
    $schedule->command('command:randomusercreatereply')->withoutOverlapping()->everyMinute();
    $schedule->command('command:randomusersubmissionvote')->withoutOverlapping()->everyMinute();
    $schedule->command('command:randomusercommentvote')->withoutOverlapping()->everyMinute();
    $schedule->command('command:randomusersubscribe')->withoutOverlapping()->everyFiveMinutes();

    $schedule->command(CalculateHotness::class)
        ->runInBackground()
        ->withoutOverlapping()
        ->everyFiveMinutes();

    $schedule->command(CalculateRelativeHotness::class)
        ->runInBackground()
        ->withoutOverlapping()
        ->everyFiveMinutes();

但是最近我注意到一些预定的命令没有运行。因此,每当运行命令时,我决定
Log
。事实证明,只有
命令:randomusercreatecomment
命令:randomusercreatesubmission
按计划运行。我想可能是下一个命令(command:randomusersubmissionvote)导致了这个问题。但当我SSH到homestead并运行命令时,它运行得很好,并记录日志。我已尝试停止/启动vagrant、重新启动电脑等。没有错误日志,因此我无法真正理解为什么所有其他命令都没有运行。

也许您可以从crontab登录,以了解哪些命令没有正常运行。请在crontab-e*****cd~/projects/statistics&&php~/projects/statistics/artisan schedule:run>>cron-log.txt 2>&1中尝试类似的操作,您会得到类似运行调度命令的输出:'/usr/bin/php7.4''artisan'get_green_count>'/dev/null'2>&1运行调度命令:'/usr/bin/php7.4''artisan'get_tv_statistics>“/dev/null”2>&1运行计划命令:“/usr/bin/php7.4”“artisan”get_green\u count>”/dev/null“2>&1我解决了我的问题。所有命令都有“withoutOverlapping()。我不知道这意味着没有其他命令可以同时运行。因此,如果我有3个命令每5分钟运行一次,那么我猜其中只有1个命令会以“withoutOverlapping()”运行?这有点愚蠢。我认为这只与特定命令相关,而不是所有命令。因此,您运行命令1,但1分钟后仍未完成。此命令应再次执行,但直到第一个命令完成后才会执行。请检查文件