我收到了用户的请求。 目标是尽快处理它们。 初始估计时间为5天,添加到开始日期,在此日期内将处理请求。 我想确保如果没有遵守估计的时间并更新请求的状态。 我不知道该使用什么以及如何使用它。 我创建了一个命令,每个Minute"它应该"工作但没什么。 如果我使用带终端的命令,它可以工作!
Kernel.php
protected $commands = [
'\App\Console\Commands\CheckDateEnd',
];
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
$schedule->command('CheckDateEnd:checkDateEnd')
->everyMinute();
}
protected function commands()
{
require base_path('routes/console.php');
}
CheckDateEnd.php
protected $signature = 'CheckDateEnd:checkDateEnd';
protected $description = 'Termine stimati verificati!';
public function __construct()
{
parent::__construct();
}
public function handle()
{
\DB::table('richieste')
->whereDate('termine_stimato','<=',Carbon::now())
->update(['stato' => 3]);
$this->info('Termine stimati verificati!');
}
答案 0 :(得分:-1)
您可以在laravel中使用作业或计划任务
预定时间:
$schedule->call(function () {
//your command
})->daily();
作业有点复杂但更灵活,因为您也可以在控制器上调用队列
文档:
用于启动计划任务,只需调用
php /path-to-your-project/artisan schedule:run
但最好在linux / unix系统上安装crontab
crontab -e
添加
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1