Kernel.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Console;
  3. use Illuminate\Console\Scheduling\Schedule;
  4. use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
  5. class Kernel extends ConsoleKernel
  6. {
  7. /**
  8. * 定义应用的自定义 Artisan 命令
  9. *
  10. * @var array
  11. */
  12. protected $commands = [
  13. Commands\DailyTask::class,
  14. ];
  15. /**
  16. * Define the application's command schedule.
  17. *
  18. * @param \Illuminate\Console\Scheduling\Schedule $schedule
  19. * @return void
  20. */
  21. protected function schedule(Schedule $schedule)
  22. {
  23. $schedule->command('task:daily')
  24. ->timezone('Asia/Shanghai') // 设置时区,可选
  25. ->runInBackground() // 在后台运行,可选
  26. ->withoutOverlapping() // 防止任务重叠执行
  27. ->appendOutputTo(storage_path('logs/daily-task.log')) // 输出到日志文件
  28. ->onOneServer(); // 如果使用多服务器,确保只在一台服务器上运行
  29. // 每天04:00执行
  30. // $schedule->command('task:collect_sync')
  31. // ->dailyAt('04:00')
  32. // ->timezone('Asia/Shanghai') // 设置时区,可选
  33. // ->runInBackground() // 在后台运行,可选
  34. // ->withoutOverlapping() // 防止任务重叠执行
  35. // ->appendOutputTo(storage_path('logs/collect-sync-task.log')) // 输出到日志文件
  36. // ->onOneServer(); // 如果使用多服务器,确保只在一台服务器上运行
  37. }
  38. /**
  39. * Register the commands for the application.
  40. *
  41. * @return void
  42. */
  43. protected function commands()
  44. {
  45. $this->load(__DIR__ . '/Commands');
  46. require base_path('routes/console.php');
  47. }
  48. }