Skip to content

[Step 5] Job処理システム #26

@takaokouji

Description

@takaokouji

概要

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Icebox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions