Я пытаюсь запустить Laravel Планировщик в Google Cloud.
По моей команде, у меня есть это
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\User;
use Carbon\Carbon;
class ChangeRole extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'command:update';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This Changes Stuffs';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
$users = User::where('trialExpires', '<=', Carbon::now())->get();
foreach ($users as $user) {
$user->type= 'subscriber';
$user->save();
}
}
}
Я сделал это в моем Ядре
protected $commands = [
//
'App\Console\Commands\ChangeRole',
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('command:update')
->daily();
}
В моем файле cron.yaml
cron:
- description: "daily job"
url: '* * * * * cd /project_id && php artisan command:update >> /dev/null 2>&1'
schedule: every 24 hours
retry_parameters:
min_backoff_seconds: 2.5
max_doublings: 5
timezone: Europe/Madrid
Когда я запустил gcloud app deploy cron.yaml
Я получил эту ошибку
ОШИБКА: (gcloud.app.deploy) An ошибка при разборе файла: [C: \ xampp1 \ newlibri \ cron.yaml] Невозможно присвоить значение '* * * * * cd / starlit-advice-260914 && php команда ремесленника: обновление >> / dev / null 2> & 1 'для атрибута' url ': значение' * * * * * cd / starlit-advice-260914 && php команда ремесленника: обновление >> / dev / null 2> & 1 'для URL не соответствует выражению' ^ (?: ^ /. * $) $ 'в "C: \ xampp1 \ newlibri \ cron.yaml", строка 3, столбец 8
Я не знаю, что я сделал неправильно.
Когда я запускаю команду PHP artisan: обновлять. Планировщик работает просто отлично. Но я не могу выполнить репликацию в Google Cloud