Обновление базы данных с использованием Laravel Schedule Cronjob - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь запустить модель Eloquent для вставки данных в базу данных, я пытался запустить тестовый прогон с использованием расписания Laravel и cronjobs, ниже мой код

Это мой App\Console\kernel.php

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

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{

    $schedule->command('check:test')->everyMinute();

}

И мой App\Console\Commands\test

protected $signature = 'check:test';
public function handle()
{

        try {
            $test = new Test([
                "user_id" => 1,
                "data_one"=>321,
            ]);
            $test->save();
            return response()->json('successfully added');

        } catch (exception $e) {
            return response()->json('error', $e);

        }

}

и мой crontab -e код:

* * * * * php /opt/lampp/htdocs/testProj/artisan schedule:run 1>> 
/opt/lampp/htdocs/testProj/schedule.log 2>&1

, когда получаю извиняемый журнал, -

Выполнение запланированной команды: '/usr/bin/php7.2' 'artisan' check: test> '/ dev / null' 2> & 1

И никаких изменений вбазы данных тоже.Что я делаю не так, любая помощь будет оценена

1 Ответ

0 голосов
/ 17 октября 2018

попробуйте использовать это в crontab -e

* * * * *  php /opt/lampp/htdocs/testProj/artisan schedule:run >> /dev/null 2>&1

kernel.php в журнале хранилища файлов в файле журнала, используя laravel

protected $commands = [
     Commands\test::class,
];

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{

    $schedule->command(Commands\test::class)->everyMinute()->appendOutputTo(storage_path('logs/scheduler.log'));

}

, и команда тестирования должна выглядеть так

protected $signature = 'check:test';
public function handle()
{
    try {
        $test = new Test()
        $test->user_id = 1;
        $test->data_one= 321;
        $test->save();
        return $this->info('successfully added');

    } catch (exception $e) {
       return $this->warning('successfully added');
    }
}
...