Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Laravel Cron运行计划未在服务器上自动运行_Laravel_Laravel 5.8_Cron Task - Fatal编程技术网

Laravel Cron运行计划未在服务器上自动运行

Laravel Cron运行计划未在服务器上自动运行,laravel,laravel-5.8,cron-task,Laravel,Laravel 5.8,Cron Task,我在Laravel-5.8应用程序中有这个cron作业代码: 应用程序/控制台/命令: <?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Models\Hr\HrDesignation; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; use Illuminate\Support\

我在Laravel-5.8应用程序中有这个cron作业代码:

应用程序/控制台/命令:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\Hr\HrDesignation;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Auth;
use Exception;
use Notification;
use GuzzleHttp\Client; 
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\GuzzleException;


class UpdateCreateDesignation extends Command
{
    protected $signature = 'updatecreatedesignations';

    protected $description = 'Update or Create Designation';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        $client = new Client();
        $res = $client->request('GET','https://api.cloudjkk.net/jkkapp/profile/all-designations', [
        'query' => ['key' => 'dddddd']
    ])->getBody();

        $clientdatas = json_decode($res->getContents(), true);    
        
        foreach($clientdatas as $clientdata)
        {        
              if ($clientdata['job_title']) {
            $designation = HrDesignation::updateOrCreate([
                'designation_name' => $clientdata['job_title']
            ],
            [
                'description'       => $clientdata['job_description'],
                'company_id'        => 1,          
            ]); 
        }
        }

    } 
}

您需要确保已在crontab中启用调度程序


Laravel需要每分钟运行
php artisan schedule:run
。如果当前时间为
01:00
,则执行该任务

因此,您需要:

  • 每分钟添加一个cronjob
    ***
  • 转到项目的目录
    cd/路径
  • 运行artisan命令,该命令将匹配时间
    php artisan计划:Run
如果使用
->everyMinute()添加作业,则可以对此进行测试

$schedule->command('increment-db-int')
->每分钟();

你安排了cronjob吗?@RonvarderHeijden-你是什么意思。这就是我所拥有的。在我的代码中,请参见kernel.php$schedule->command('updatecreatedesignations')->dailyAt('01:00')中的计划;“使用计划程序时,只需将以下Cron条目添加到服务器…”-。。。当我尝试此选项时,文档试图告诉您需要做什么:>root@MyServer:/var/www/html/jkkappt#php artisan schedule:run我得到了这个:>没有计划好的命令可以运行。这是意料之中的。现在不是凌晨1:00,是不是lol。如果你在linux服务器上托管,你有没有用crontab检查过这个条目?您可以使用
crontab-e
命令行命令来编辑此内容。我该怎么做呢?这在我的注释中,
crontab-e
<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{

    protected $commands = [
        'App\Console\Commands\UpdateCreateDesignation',
    ];

    protected function schedule(Schedule $schedule)
    {       
        $schedule->command('updatecreatedesignations')
                ->dailyAt('01:00'); 
                                                                                                     
    }

    protected function commands()
    {

        require base_path('routes/console.php');
    }
}
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1