Skip to content

Add combined public-info indexer - #1764

Merged
YoshihitoAso merged 3 commits into
dev-26.3from
combine-public-info-indexer
Feb 17, 2026
Merged

Add combined public-info indexer#1764
YoshihitoAso merged 3 commits into
dev-26.3from
combine-public-info-indexer

Conversation

@YoshihitoAso

@YoshihitoAso YoshihitoAso commented Feb 16, 2026

Copy link
Copy Markdown
Member

This pull request refactors the batch indexer processes for company, public account, and token lists by modularizing them into sub-indexers and introducing a new combined orchestrator.

📌 Description

✅ Related Issues

None

🔄 Changes

Major refactoring and architecture changes:

  • Introduced a new orchestrator script indexer_PublicInfo_Combined.py that asynchronously schedules and runs the company, public account, and token list sub-indexers, centralizing process management and error handling.
  • Moved the company, public account, and token list indexers into the batch/sub_indexers/ directory, renaming the files for clarity and modularity.

📌 Checklist

  • I have added tests where necessary.
  • I have updated the documentation where necessary.

Introduce batch/indexer_PublicInfo_Combined.py to orchestrate TokenList, PublicAccountList and (optionally) CompanyList processors with centralized scheduling and error handling. Move individual indexer scripts into batch/sub_indexers/ and adapt them to sub-processor API (add async sync_new_logs, remove standalone main loops and per-file scheduling). Update bin scripts (run_indexer.sh, healthcheck_indexer.sh) to start the combined indexer, and adjust tests to import from the new sub_indexers paths. This consolidates startup, centralizes logging/error handling, and simplifies per-indexer responsibilities.
Add brief inline comments to Company, PublicAccount, and Token list indexer processors to document the main steps: fetching from the configured URL, checking response digest for differences, and refreshing DB data by deleting existing entries and inserting the new list. Files updated: batch/sub_indexers/indexer_Company_List.py, indexer_PublicInfo_PublicAccountList.py, indexer_PublicInfo_TokenList.py. Improves readability and documents the update flow.
Change IndexerProcessor protocol to use a synchronous process() method and update run_processor to call processor.process() (remove await). Remove redundant async sync_new_logs wrappers from Company_List, PublicAccountList, and TokenList processors so they expose only process(). This standardizes the processor API for synchronous scheduled execution.
@YoshihitoAso
YoshihitoAso marked this pull request as ready for review February 16, 2026 08:31
@github-actions

Copy link
Copy Markdown

Coverage

Coverage Report •
FileStmtsMissCoverMissing
batch
   indexer_PublicInfo_Combined.py64640%20–24, 26, 28, 34–37, 43–44, 47–48, 51–56, 59–69, 72–74, 77–78, 80, 82, 95–96, 98, 105, 107–110, 112–113, 115–118, 120–125, 128–132
batch/sub_indexers
   indexer_Company_List.py73790%54–55, 106–107, 110–112
   indexer_PublicInfo_PublicAccountList.py76494%54–55, 106, 109
   indexer_PublicInfo_TokenList.py67592%55–56, 100–102
tests/batch
   indexer_Company_List_test.py5570100% 
   indexer_PublicInfo_PublicAccountList_test.py1570100% 
   indexer_PublicInfo_TokenList_test.py2790100% 
TOTAL38034176495% 

Tests Skipped Failures Errors Time
1269 0 💤 0 ❌ 0 🔥 9m 50s ⏱️

@YoshihitoAso
YoshihitoAso merged commit bf0a56f into dev-26.3 Feb 17, 2026
12 checks passed
@YoshihitoAso
YoshihitoAso deleted the combine-public-info-indexer branch February 17, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants