PR

team_battle.php のスクリプト内でエラーが起きた時にcatchしてエラー出力しスクリプト実行は継続する対応 #2530

kouho opened this at 2023-01-12T16:01:05; closed

Description

opened by kouho at 2023-01-12T16:01:05; updated 2023-01-20T15:59:38

概要

team_battleスクリプト内の一騎討ちで戦闘でエラーが発生した場合、全部の一騎討ちが実行されなくなるため、
一つの戦闘でエラーが発生しても一騎討ちが行われるように修正する

また、エラーが起きた戦闘のuser_noとwar_idとエラー内容をログに出力させる。

テスト方法、確認した内容

2箇所以上のチームで戦争を開始し、jrye_teamWar.teamWar_lockのsingle_combat_time_1 ~ 3を1に。
一騎討ちをさせるユーザーのデッキに含まれて発動するスキルSkillFunc.incにエラーを仕込んで
team_battle.phpを実行。

一騎討ちのエラーが出力されることと、
問題がない次の一騎討ちが行われていればOK

こちらではdivision by zero のエラーを仕込んでみて確認しました。

TODO

エラーが起きた時にSlackで通知をするなど検知できるようにしたい

Comment

#24962 by kouho at 2023-01-12T16:01:17; updated 2023-01-12T16:01:17

@wada
レビューお願いいたします

Comment

#25008 by wada at 2023-01-13T14:46:59; updated 2023-01-13T14:46:59

@kouho
92行目以降の各if文の中身はやっていることが同じなので統一できないでしょうか?

Comment

#25017 by kouho at 2023-01-13T17:13:54; updated 2023-01-13T17:13:54

@wada
確認ありがとうございます。
以下対応しました。
> continueの前でrollbackをお願いします。
> 92行目以降の各if文の中身はやっていることが同じなので統一できないでしょうか?

Comment

#25043 by wada at 2023-01-16T11:32:15; updated 2023-01-16T11:32:15

@kouho
対応ありがとうございます。

変更後にfor文で3回メインループと一騎討ちを実行していますが、メインループは1回で良いと思います。
変更前の一騎討ちは、if文で1つだけ実行するようになっていましたが、3回連続実行による問題はないでしょうか?

Comment

#25049 by kouho at 2023-01-16T12:04:08; updated 2023-01-16T12:04:08

@wada
確認ありがとうございます。
3回のfor文は一騎討ちが実行済みかどうかの判定にのみ使い、

1回のスクリプト実行で一つの戦争につきメインループと一騎討ちの処理は1回ずつ実行して、
136行目のcontinue 2; で次の戦争の処理へ移り、

エラーが起きた場合は、 single_combat_time_{combat_rank}に0を入れて
continue 2;で次の戦争へとなるため、1戦争につき、3回連続実行にはならない想定でした。

Comment

#25083 by kouho at 2023-01-17T14:12:29; updated 2023-01-17T14:12:29

@wada
> 一騎討ち終了後の条件も追加お願いします。

確認ありがとうございます。追加しました。

Comment

#25175 by wada at 2023-01-19T16:10:59; updated 2023-01-19T16:10:59

@kouho
ロールバックの順番以外はOKです。

wada add_label at 2023-01-19T16:11:02: 和田 LGTM

Comment

#25187 by kouho at 2023-01-20T14:19:17; updated 2023-01-20T14:19:17

@wada
確認ありがとうございます。ロールバックの順番も修正しました。

Comment

#25192 by wada at 2023-01-20T15:16:18; updated 2023-01-20T15:16:18

@kouho
対応ありがとうございます。

kouho merge at 2023-01-20T15:59:38: team_battle.php のスクリプト内でエラーが起きた時にcatchしてエラー出力しスクリプト実行は継続する対応
kouho close at 2023-01-20T15:59:38: Close

commit comment

#152 by wada at 2023-01-13T14:20:44; lib/exec/team_battle.php / old:None new:62
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
continueの前でrollbackをお願いします。

commit comment

#153 by wada at 2023-01-17T12:36:01; lib/exec/team_battle.php / old:None new:104
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
一騎討ち終了後の条件も追加お願いします。

commit comment

#155 by wada at 2023-01-19T12:13:12; lib/exec/team_battle.php / old:None new:59
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
37の前に39のロールバックをお願いします。

Commit range

base651ac16bfa1828207edb3fe5cb37eec68da6ed75
headc2632e8ca089a2007c316126c20729c44384e5f8
base branchjolly/jr-web:develop
head branchjolly/jr-web:fix_combat

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed1 filesView patch
statusfile
modifiedlib/exec/team_battle.php
Patch body is stored as a separate file to keep this page lightweight.

Review comment

#152 by wada at 2023-01-13T14:20:44; lib/exec/team_battle.php / old:None new:62
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
continueの前でrollbackをお願いします。

Review comment

#153 by wada at 2023-01-17T12:36:01; lib/exec/team_battle.php / old:None new:104
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
一騎討ち終了後の条件も追加お願いします。

Review comment

#155 by wada at 2023-01-19T12:13:12; lib/exec/team_battle.php / old:None new:59
c2632e8ca089a2007c316126c20729c44384e5f8

@kouho
37の前に39のロールバックをお願いします。