diff --git a/app/Console/Commands/OrderCloseExpiredCommand.php b/app/Console/Commands/OrderCloseExpiredCommand.php index 5a0f66a5..b3c240b5 100644 --- a/app/Console/Commands/OrderCloseExpiredCommand.php +++ b/app/Console/Commands/OrderCloseExpiredCommand.php @@ -28,12 +28,24 @@ class OrderCloseExpiredCommand extends Command */ public function handle() { - Order::select('id')->expired()->chunkById(1000, function ($orders) { - Order::whereIn('id', $orders->pluck('id')->all())->where('status', Order::STATUS_PENDING)->update([ - 'status' => Order::STATUS_CANCELLED, - ]); - }); + while (true) { + $page = 0; - return 0; + Order::select('id')->expired()->chunkById(1000, function ($orders, &$page) { + Order::whereIn('id', $orders->pluck('id')->all())->where('status', Order::STATUS_PENDING)->update([ + 'status' => Order::STATUS_CANCELLED, + ]); + + $page++; + }); + + if ($page === 0) { + sleep(60); + } elseif ($page === 1) { + sleep(30); + } else { + sleep(60); + } + } } }