Я пытаюсь автоматически обновить статус с помощью запланированной задачи.Я не уверен, как отладить проблему, так как я новичок в работе cron.Я создал cronjob и добавил его в ядро.Тем не менее, он не выполняется.
cronOffer.php
protected $signature = 'update:offer';
protected $description = 'update expired offers status ';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$RSS = Rss::where('RSS_Status', '!=', 6)->first();
$Projects = Project::where('RSS_ID', $RSS->RSS_ID)->get();
foreach ($Projects as $Project) {
$applications = Application::where(['A_ID' => $Project->A_ID, 'Status_ID' => 2])->get();
foreach ($applications as $application) {
$current_time = Carbon::now();
$OfferDeadline = $Project->updated_at; //->addDays(2)
if ($current_time >= $OfferDeadline) {
$application->Status_ID = 6;
$application->save();
}
$next = $application->S_Rank + 1;
if ($application->Status_ID === 6) {
$waiting = Application::where(['A_ID' => $Project->A_ID, 'Status_ID' => 3, 'S_Rank' => $next])->first();
$waiting->Status_ID = 2;
$waiting->save();
}
}
}
}
Ядро
protected $commands = [
// Register corn commands (scheduled)
Commands\cronOffer::class
];
protected function schedule(Schedule $schedule)
{
//->dailyAt('09:30');
$schedule->command('update:offer')
->everyMinute();
}
protected function commands()
{
require base_path('routes/console.php');
}