Kernel.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace App\Console;
  3. use App\Console\Commands\Apollo;
  4. use App\Console\Commands\CommunityMemberStatistics;
  5. use App\Console\Commands\Downloads;
  6. use App\Console\Commands\MusicImport;
  7. use App\Console\Commands\PostCollectBean;
  8. use App\Console\Commands\PostCreateBean;
  9. use App\Console\Commands\PostStatistics;
  10. use App\Console\Commands\PostYesterday;
  11. use App\Console\Commands\TopicUseCount;
  12. use App\Console\Commands\UpdatePostInfo;
  13. use App\Console\Commands\UpdatePostStatus;
  14. use App\Console\Commands\UpdateReplyCount;
  15. use App\Console\Commands\UpdateTopicData;
  16. use App\Console\Commands\UpdateTopicUseCount;
  17. use App\Console\Commands\VirusAdd;
  18. use App\Console\Commands\YesterdayGreatPost;
  19. use Illuminate\Console\Scheduling\Schedule;
  20. use Laravel\Lumen\Console\Kernel as ConsoleKernel;
  21. class Kernel extends ConsoleKernel
  22. {
  23. /**
  24. * The Artisan commands provided by your application.
  25. *
  26. * @var array
  27. */
  28. protected $commands = [
  29. Apollo::class,
  30. PostYesterday::class,
  31. Downloads::class,
  32. VirusAdd::class,
  33. PostStatistics::class,
  34. PostCreateBean::class,
  35. PostCollectBean::class,
  36. UpdatePostInfo::class,
  37. UpdatePostStatus::class,
  38. UpdateReplyCount::class,
  39. UpdateTopicUseCount::class,
  40. UpdateTopicData::class,
  41. TopicUseCount::class,
  42. CommunityMemberStatistics::class,
  43. MusicImport::class,
  44. YesterdayGreatPost::class
  45. ];
  46. /**
  47. * Define the application's command schedule.
  48. *
  49. * @param \Illuminate\Console\Scheduling\Schedule $schedule
  50. * @return void
  51. */
  52. protected function schedule(Schedule $schedule)
  53. {
  54. $path = storage_path('logs/' . date('Y-m-d') . '-schedule.log');
  55. $schedule->command('download:download')
  56. ->everyMinute()
  57. ->withoutOverlapping()->appendOutputTo($path);
  58. $schedule->command('post:yesterday')
  59. ->dailyAt('00:10')
  60. ->withoutOverlapping()->appendOutputTo($path);
  61. $schedule->command('post:statistics')
  62. ->dailyAt('00:20')
  63. ->withoutOverlapping()->appendOutputTo($path);
  64. //统计前一天用户行为累加
  65. $schedule->command('member:statistics')
  66. ->dailyAt('00:05')
  67. ->withoutOverlapping()->appendOutputTo($path);
  68. //统计前一天最佳内容
  69. $schedule->command('post:yesterday-great')
  70. ->dailyAt('00:30')
  71. ->withoutOverlapping()->appendOutputTo($path);
  72. //内容生成U米
  73. $schedule->command('post:create_bean')
  74. ->everyFiveMinutes()
  75. ->withoutOverlapping()->appendOutputTo($path);
  76. //内容收取U米
  77. $schedule->command('post:collect_bean')
  78. ->everyFiveMinutes()
  79. ->withoutOverlapping()->appendOutputTo($path);
  80. //更新话题使用数
  81. $schedule->command('post:topic_use_count')
  82. ->everyFiveMinutes()
  83. ->withoutOverlapping()->appendOutputTo($path);
  84. }
  85. }