add customisable timeout buffer with env variable
This commit is contained in:
@@ -37,6 +37,7 @@ class BestBattleSnake(TemplateSnake):
|
|||||||
self.last_game_id = None
|
self.last_game_id = None
|
||||||
self.previous_hazards = set()
|
self.previous_hazards = set()
|
||||||
self.duel_style = self._get_duel_style()
|
self.duel_style = self._get_duel_style()
|
||||||
|
self.timeout_buffer_ms = self._get_timeout_buffer_ms()
|
||||||
|
|
||||||
def _get_duel_style(self) -> str:
|
def _get_duel_style(self) -> str:
|
||||||
"""Resolve duel tuning style from `BATTLE_SNAKE_DUEL_STYLE` or `DUEL_STYLE`."""
|
"""Resolve duel tuning style from `BATTLE_SNAKE_DUEL_STYLE` or `DUEL_STYLE`."""
|
||||||
@@ -69,6 +70,14 @@ class BestBattleSnake(TemplateSnake):
|
|||||||
"food_bias": 1.00,
|
"food_bias": 1.00,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def _get_timeout_buffer_ms(self) -> int:
|
||||||
|
"""Read response-time safety buffer from `SNAKE_TIMEOUT_BUFFER_MS`."""
|
||||||
|
raw_value = os.getenv("SNAKE_TIMEOUT_BUFFER_MS", "120")
|
||||||
|
try:
|
||||||
|
return max(25, int(raw_value))
|
||||||
|
except ValueError:
|
||||||
|
return 120
|
||||||
|
|
||||||
def choose_move(self, game_data:dict) -> str:
|
def choose_move(self, game_data:dict) -> str:
|
||||||
"""Pick the next move from a Battlesnake move request.
|
"""Pick the next move from a Battlesnake move request.
|
||||||
|
|
||||||
@@ -77,8 +86,9 @@ class BestBattleSnake(TemplateSnake):
|
|||||||
self.game_board = game_data
|
self.game_board = game_data
|
||||||
self.calculations = []
|
self.calculations = []
|
||||||
self.duel_style = self._get_duel_style()
|
self.duel_style = self._get_duel_style()
|
||||||
|
self.timeout_buffer_ms = self._get_timeout_buffer_ms()
|
||||||
timeout_ms = (game_data.get_timeout() if hasattr(game_data, "get_timeout") else 500)
|
timeout_ms = (game_data.get_timeout() if hasattr(game_data, "get_timeout") else 500)
|
||||||
deadline = perf_counter() + (max(50, int(timeout_ms) - 120) / 1000.0)
|
deadline = perf_counter() + (max(50, int(timeout_ms) - self.timeout_buffer_ms) / 1000.0)
|
||||||
|
|
||||||
game_id = getattr(game_data, "id", None)
|
game_id = getattr(game_data, "id", None)
|
||||||
turn = game_data.get_turn()
|
turn = game_data.get_turn()
|
||||||
|
|||||||
Reference in New Issue
Block a user