-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
概要
Issue smalruby/smalruby3-gui#417 の Step 5: Job処理システムを実装します。
Solid Queueを導入し、ゲーム実行をバックグラウンドJobで処理する仕組みを構築します。
実装内容
1. Solid Queue導入
- Solid Queue gem 追加
- 設定ファイル作成
- Job Queue用テーブル作成
- Worker プロセス設定
2. ゲーム実行Job実装
- GameExecutionJob クラス実装
- Job実行フロー設計
- Job引数・戻り値設計
- Job状態管理
3. ターンごとのDB保存処理
- ターン実行→DB保存の処理フロー
- GameTurn レコード作成
- Player 状態更新
- Enemy 状態更新
- GameEvent 記録
4. Job監視・エラーハンドリング
- Job実行状況の監視機能
- 失敗時のリトライ設定
- エラー時の適切な状態更新
- タイムアウト処理
5. リアルタイム状態更新
- Job実行中の進捗状況更新
- ゲーム状態の定期的な更新
- 完了通知システム
- 中断・キャンセル機能
6. パフォーマンス最適化
- Job実行の並列化検討
- DB書き込みの最適化
- メモリ使用量の最適化
- 大量Job処理時の負荷分散
完了条件
- Solid Queue が正常に動作する
- ゲーム実行がJob経由で正常に動作する
- ターンごとの状態がDBに正しく保存される
- Job監視・エラーハンドリングが動作する
- パフォーマンステストがパスする
関連Issue
- [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する smalruby3-gui#417 [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する
- [Step 1] 基盤環境構築 smalruby3-gui#418 [Step 1] 基盤環境構築
- [Step 2] データモデル・DB設計 smalruby3-gui#419 [Step 2] データモデル・DB設計
- [Step 3] 基本GraphQL API実装 smalruby3-gui#420 [Step 3] 基本GraphQL API実装
- [Step 4] ゲームロジック実装 #25 [Step 4] ゲームロジック実装
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Icebox