refactor: 将广播事件改为异步队列并增强索引检查兼容性

This commit is contained in:
2026-06-10 13:58:16 +08:00
parent 1948b10fe6
commit c887c4e146
11 changed files with 134 additions and 27 deletions

View File

@@ -6,7 +6,7 @@ use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
/**
* 界面文档 §2.1`play.toggle` —— 玩法开关变更推送。
@@ -14,10 +14,19 @@ use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
* 触发时机:后台开启或关闭某玩法时。
* 前端处理:玩法列显示/隐藏或置灰/启用。
*/
final class PlayToggleBroadcast implements ShouldBroadcastNow
final class PlayToggleBroadcast implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/** 异步广播队列 */
public string $queue = 'broadcasts';
/** 最多重试 3 次 */
public int $tries = 3;
/** 单任务超时 10 秒 */
public int $timeout = 10;
/**
* @param string $playCode 玩法代码(如 straight_4d, box_2d 等)
* @param bool $enabled 是否启用