|
|
@@ -14,6 +14,7 @@ use App\Module\Farm\Listeners\LoginSuccessListener;
|
|
|
use App\Module\Farm\Listeners\UpdateCropStatusListener;
|
|
|
|
|
|
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
|
|
+use Illuminate\Support\Facades\Schedule;
|
|
|
|
|
|
/**
|
|
|
* 农场模块服务提供者
|
|
|
@@ -92,20 +93,8 @@ class FarmServiceProvider extends ServiceProvider
|
|
|
// 注册农场配置管理路由
|
|
|
$this->registerAdminRoutes();
|
|
|
|
|
|
- // 注册定时任务监听器
|
|
|
-// $this->app->booted(function () {
|
|
|
-// $schedule = $this->app->make(\Illuminate\Console\Scheduling\Schedule::class);
|
|
|
-//
|
|
|
-//
|
|
|
-// // 每小时随机生成灾害
|
|
|
-// $schedule->command('farm:generate-disasters')->hourly();
|
|
|
-//
|
|
|
-// // 每周一凌晨4点清理过期日志
|
|
|
-// $schedule->command('farm:clean-expired-logs')->weekly()->mondays()->at('04:00');
|
|
|
-//
|
|
|
-// // 每天凌晨5点重建缓存
|
|
|
-// $schedule->command('farm:rebuild-cache')->dailyAt('05:00');
|
|
|
-// });
|
|
|
+ // 注册农场定时任务
|
|
|
+ $this->registerSchedules();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -134,4 +123,35 @@ class FarmServiceProvider extends ServiceProvider
|
|
|
$router->get('farm-metrics', [\App\Module\Farm\AdminControllers\FarmMetricsController::class, 'index']);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 注册农场相关的定时任务
|
|
|
+ *
|
|
|
+ * 将原本在 routes/console.php 中的农场调度配置迁移到此处
|
|
|
+ */
|
|
|
+ protected function registerSchedules(): void
|
|
|
+ {
|
|
|
+ // 在应用完全启动后注册定时任务
|
|
|
+ $this->app->booted(function () {
|
|
|
+ // 每天凌晨2点检查房屋降级
|
|
|
+ Schedule::command('farm:check-house-downgrade')
|
|
|
+ ->dailyAt('02:00')
|
|
|
+ ->description('检查农场房屋降级');
|
|
|
+
|
|
|
+ // 每分钟更新作物生长状态
|
|
|
+ Schedule::command('farm:update-crop-growth')
|
|
|
+ ->everyMinute()
|
|
|
+ ->description('更新作物生长状态');
|
|
|
+
|
|
|
+ // 每分钟随机生成灾害
|
|
|
+ Schedule::command(\App\Module\Farm\Commands\GenerateDisastersCommand::class)
|
|
|
+ ->everyMinute()
|
|
|
+ ->description('随机生成农场灾害');
|
|
|
+
|
|
|
+ // 每天凌晨01:00生成农场每日统计数据
|
|
|
+ Schedule::command('farm:generate-daily-stats')
|
|
|
+ ->dailyAt('01:00')
|
|
|
+ ->description('生成农场每日统计数据');
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|