Я только начал работать над командой ремесленников, которая выводит «привет» каждую минуту с расписанием задач Laravel.
Моя команда ‘php artisan DeleteInActiveEvents: deleteevents’ выводит то, что должно быть в терминале: «привет».
Моя команда:
class deleteInActiveEvents extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'DeleteInActiveEvents:deleteevents';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
echo "hello";
}
Мой Kernel.php
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\einkdisplay\Console\Commands\DeleteInActiveEvents::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('DeleteInActiveEvents:deleteevents')->everyMinute();
}
/**
* Register the Closure based commands for the application.
*
* @return void
*/
protected function commands()
{
require base_path('routes/console.php');
}
Так что все еще работает на данный момент. Но я хочу делать эту команду каждую минуту. Когда я запускаю php artisan schedule: запустите его, а не запустите команду. Документы Laravel говорят, что мне нужно добавить:
в мой crontab. Но когда я использую crontab -e в терминале, я не получаю свой crontab и не могу добавить эту строку кода.
Вероятно, очень нубский вопрос, но я не могу понять это. Некоторая помощь в правильном направлении будет высоко ценится!
Мое лучшее предположение, что у вас нет разрешения на сохранение crontab. Вы пытаетесь sudo crontab -e
,
Других решений пока нет …