功能:婚姻系统第11步(Horizon Jobs + 定时任务)

5个 Job:
- ExpireMarriageProposals:每5分钟扫描超时求婚(广播通知)
- TriggerScheduledWeddings:每5分钟触发定时婚礼(广播庆典)
- AutoExpireDivorces:每小时处理离婚超时自动解除
- ExpireWeddingEnvelopes:每小时清理过期红包
- ProcessMarriageIntimacy:每日00:05全量亲密度时间奖励

console.php 注册5个 Schedule
This commit is contained in:
2026-03-01 15:16:46 +08:00
parent d2797d5b59
commit 143601c251
6 changed files with 222 additions and 0 deletions
+17
View File
@@ -13,3 +13,20 @@ Schedule::command('messages:purge')->dailyAt('03:00');
// 每 5 分钟为所有在线用户自动存点(经验/金币/等级)
Schedule::command('chatroom:auto-save-exp')->everyFiveMinutes();
// ──────────── 婚姻系统定时任务 ────────────────────────────────────
// 每 5 分钟:扫描超时求婚(48h后失效 + 戒指消失 + 广播通知)
Schedule::job(new \App\Jobs\ExpireMarriageProposals)->everyFiveMinutes();
// 每 5 分钟:触发到时的定时婚礼(红包分发 + 广播庆典)
Schedule::job(new \App\Jobs\TriggerScheduledWeddings)->everyFiveMinutes();
// 每小时:协议离婚超时自动升级为强制(72h无响应)
Schedule::job(new \App\Jobs\AutoExpireDivorces)->hourly();
// 每小时:清理过期婚礼红包(expired_at 过后标记 completed
Schedule::job(new \App\Jobs\ExpireWeddingEnvelopes)->hourly();
// 每天 00:05:全量处理婚姻亲密度时间奖励(每日加分)
Schedule::job(new \App\Jobs\ProcessMarriageIntimacy)->dailyAt('00:05');