PR

新大陸のフックモンスター出現処理にロック追加 #1792

kouho opened this at 2022-04-27T09:47:46; closed

Description

opened by kouho at 2022-04-27T09:47:46; updated 2023-02-22T12:04:07

概要

フックモンスターが別々の人に同時に出ないようにする

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

  • フックモンスター討伐時に問題なくレアモンスターモードに入るか

TODO

  • 開発反映時に複数人で同時に動かして検証したい
  • ~~可能なら5/10の新大陸開催時に反映したい~~

Comment

#18787 by wada at 2022-04-27T17:14:36; updated 2022-04-27T17:14:36

@kouho
イベント期間中だと、どのステージでもロックしているので、イベントステージのみロックするように変更をお願いします。
check_pop_monster()内でget_lock()の前にif( $user_mission['stage_type'] >= 10 && $user_mission['stage_type'] <= 12 )のイベントステージ判定

このタイミングで、ロック周りのtime()DateTimeUtil::getCurrentTIme()に変更しても良いと思います。

Comment

#18788 by kouho at 2022-04-27T17:50:34; updated 2022-04-27T17:50:34

@wada
確認ありがとうございます。以下修正しました。

  • イベントステージのみロックをする
  • ロック周りのtime()をDateTimeUtil::getCurrentTIme()に
  • イベントステージ判定が何回も行われていたのでまとめる

Comment

#18796 by wada at 2022-04-28T12:09:52; updated 2022-04-28T12:09:52

@kouho
修正確認しました。動作問題ありません。

ロック周り意識するのが久しぶりなので、以下の点が気になりました。
team_event_new_island_mode_limitのselect頻度が多いならキャッシュした方が良いか
team_event_new_island_mode_limitのcreate()前に再度get_lock()があるが問題ないか
・主キー以外でロックしているので、他のteamに影響は出ないか

Comment

#18805 by kouho at 2022-04-28T14:39:38; updated 2022-04-28T14:39:38

今のテーブルをログテーブルにロック用のテーブルを新たに作成

kouho change_title at 2022-05-20T17:41:13: 【4/28】新大陸のフックモンスター出現処理にロック追加 [WIP]【4/28】新大陸のフックモンスター出現処理にロック追加
kouho delete_label at 2022-05-20T17:45:14: レビュー待ち
kouho change_title at 2022-06-17T17:01:36: [WIP]【4/28】新大陸のフックモンスター出現処理にロック追加 [WIP]新大陸のフックモンスター出現処理にロック追加
kouho change_title at 2022-07-26T18:35:17: [WIP]新大陸のフックモンスター出現処理にロック追加 新大陸のフックモンスター出現処理にロック追加

Comment

#21128 by wada at 2022-07-27T10:07:37; updated 2022-07-27T10:07:37

@kouho

イベント管理テーブルの前にロック

#S_GetTeamLock($this->user_info['taem_no']);
$event_rare_monster_limit = S_LoadModelClass('dao/team_event_new_island_mode_limit')->get_mode_limit($this->user_info['team_no']);

Comment

#21142 by kouho at 2022-07-27T14:53:45; updated 2022-07-27T14:53:45

@wada
確認ありがとうございます。
イベント管理テーブルの前にロックに修正しました。

Comment

#21147 by kouho at 2022-07-27T15:43:55; updated 2022-07-27T15:43:55

@wada
確かにイベントステージだけの方がいいですね修正します

Comment

#21148 by kouho at 2022-07-27T15:51:50; updated 2022-07-27T15:51:50

@wada
イベントステージのみロックに修正しました

wada close_comment at 2023-02-22T12:04:07: 対応が難しいためクローズ

commit comment

#134 by wada at 2022-07-27T15:40:27; lib/models/Newisland_event_model.php / old:None new:571
16ef2f64bc77dd2360925a7213b488d9bb75e174

@kouho
修正前のコードを確認していたところ、
以前は、普通のステージでロックしないようにしていたのですが、全ステージでロックした方が良いですか?

Commit range

basea78e3bea5995166082e1cdef944ca0f6c6c8f202
headd461a694d8c1bf295b4fe79dae12b9997453b805
base branchjolly/jr-web:develop
head branchjolly/jr-web:newisland_lock

View commits

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

Review comment

#134 by wada at 2022-07-27T15:40:27; lib/models/Newisland_event_model.php / old:None new:571
16ef2f64bc77dd2360925a7213b488d9bb75e174

@kouho
修正前のコードを確認していたところ、
以前は、普通のステージでロックしないようにしていたのですが、全ステージでロックした方が良いですか?