2016-12-16 10 views
1

Forge LaravelでCronJobを実行する必要がありますが、このジョブはForgeで深夜に実行されませんが、 everyMinute、それは動作します。LaravelとForgeを使用してCronJobを実行する方法

<?php 

namespace App\Console; 

use Illuminate\Console\Scheduling\Schedule; 
use Illuminate\Foundation\Console\Kernel as ConsoleKernel; 
use App\Models\User; 

class Kernel extends ConsoleKernel 
{ 

    protected $commands = [ 
     \App\Console\Commands\Inspire::class, 
    ]; 

    /** 
    * Define the application's command schedule. 
    * 
    * @param \Illuminate\Console\Scheduling\Schedule $schedule 
    * @return void 
    */ 
    protected function schedule(Schedule $schedule) 
    { 
     $schedule->call(function() { 
      $users = User::all(); 

      foreach($users as $user) { 
       if($user->remaining_days == 0 && $user->user_level != 4) 
        $user->user_level = 0; 
       else 
        $user->remaining_days = $user->remaining_days - 1; 

       $user->save(); 
      } 
     })->daily(); 

    } 

    protected function commands() 
    { 
     require base_path('routes/console.php'); 
    } 
} 

答えて

1

かわり->daily()->dailyAt()句を使用することができます。

->dailyAt('12:00'); 

あなたが真夜中でそれを実行したい場合は、私はあなたにもあなたに右の時間を渡していることを確認するために、サーバーのタイムゾーンを確認する必要がありますね->dailyAt()

+1

ありがとうございます、エラーはタイムゾーンに関すると思います。 –