major-domo-v2/services
Cal Corum 65d3099a7c perf: parallelize N+1 player/creator lookups with asyncio.gather (#89)
Closes #89

Replace sequential per-item await loops with asyncio.gather() to fetch
all results in parallel:

- decision_service.find_winning_losing_pitchers: gather wp, lp, sv,
  hold_ids, and bsv_ids (5-10 calls) in a single parallel batch
- custom_commands_service: parallelize get_creator_by_id() in
  get_popular_commands, get_commands_needing_warning, and
  get_commands_eligible_for_deletion using return_exceptions=True to
  preserve the existing BotException-skip / re-raise-other behavior

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 19:42:53 +00:00
..
__init__.py Add Google Sheets integration for draft pick tracking 2025-12-11 11:18:27 -06:00
base_service.py fix: add trailing slashes to all collection POST calls 2026-03-09 19:34:36 -05:00
chart_service.py fix: update chart_service path from data/ to storage/ 2026-03-20 20:30:41 -05:00
CLAUDE.md Update CLAUDE.md docs for all-season player search feature 2026-01-23 14:36:03 -06:00
custom_commands_service.py perf: parallelize N+1 player/creator lookups with asyncio.gather (#89) 2026-03-31 19:42:53 +00:00
decision_service.py perf: parallelize N+1 player/creator lookups with asyncio.gather (#89) 2026-03-31 19:42:53 +00:00
draft_list_service.py fix: add trailing slashes to all collection POST calls 2026-03-09 19:34:36 -05:00
draft_pick_service.py fix: remove 226 unused imports across the codebase (closes #33) 2026-02-20 11:35:04 -06:00
draft_service.py refactor: move 42 unnecessary lazy imports to top-level across codebase 2026-03-02 13:35:23 -06:00
draft_sheet_service.py fix: batch quick-wins — 4 issues resolved (closes #37, #27, #25, #38) 2026-02-20 11:48:16 -06:00
game_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
giphy_service.py perf: reuse persistent aiohttp.ClientSession in GiphyService (#26) 2026-03-05 01:32:52 -06:00
help_commands_service.py fix: remove 226 unused imports across the codebase (closes #33) 2026-02-20 11:35:04 -06:00
injury_service.py fix: add trailing slashes to all collection POST calls 2026-03-09 19:34:36 -05:00
league_service.py Fix weekly freeze/thaw automation - API params not being sent 2026-01-13 14:00:54 -06:00
play_service.py fix: use targeted trailing slashes instead of universal (hotfix) 2026-03-09 17:50:58 -05:00
player_service.py Fix API parameter name: use 'demotion_week' instead of 'dem_week' 2026-02-01 21:27:52 -06:00
roster_service.py refactor: move 42 unnecessary lazy imports to top-level across codebase 2026-03-02 13:35:23 -06:00
schedule_service.py cleanup: remove unused weeks_ahead parameter from get_upcoming_games 2026-03-20 10:11:18 -05:00
scorebug_service.py fix: scorebug stale data, win probability parsing, and read-failure tolerance (closes #39, #40) 2026-02-20 14:14:23 -06:00
sheets_service.py fix: prevent partial DB writes and show detailed errors on scorecard submission failure 2026-03-10 20:55:10 -05:00
standings_service.py refactor: move 42 unnecessary lazy imports to top-level across codebase 2026-03-02 13:35:23 -06:00
stats_service.py perf: replace sequential awaits with asyncio.gather() for true parallelism 2026-03-20 09:14:14 -05:00
team_service.py fix: update roster labels to use Minor League and Injured List (#59) 2026-03-04 22:04:57 -06:00
trade_builder.py perf: parallelize independent API calls (#90) 2026-03-20 17:48:10 +00:00
transaction_builder.py fix: re-fetch existing transactions on each validation 2026-03-09 08:10:22 -05:00
transaction_service.py fix: add trailing slashes to all collection POST calls 2026-03-09 19:34:36 -05:00