Skip to content

Fix batch assembly timeout by replacing entity rendering with DB queries - #22

Open
jjroelofs wants to merge 2 commits into
feature/centralized-batch-processingfrom
jur/feature/centralized-batch-processing/#18-fix-batch-assembly
Open

Fix batch assembly timeout by replacing entity rendering with DB queries#22
jjroelofs wants to merge 2 commits into
feature/centralized-batch-processingfrom
jur/feature/centralized-batch-processing/#18-fix-batch-assembly

Conversation

@jjroelofs

Copy link
Copy Markdown
Contributor

Summary

Fixes #18. getFullyAnalyzedEntityIds() loaded every entity in the bundle and called hasResults() on each, triggering full entity rendering via generateContentHash(). With 1900 nodes this caused a 504 even with limit=1.

Changes

  • Add getAnalyzedEntityIds() to BatchableAnalyzerInterface so plugins can report analyzed entity IDs via direct DB queries
  • Add default [] implementation in AnalyzePluginBase
  • Rewrite getFullyAnalyzedEntityIds() to intersect per-analyzer DB results without loading or rendering any entities

Test plan

  • Run batch on a bundle with 1000+ entities, verify no 504 during form submission
  • Run batch with force refresh off on already-analyzed content, verify entities are correctly skipped

Jurriaan Roelofs added 2 commits May 11, 2026 13:41
getFullyAnalyzedEntityIds() loaded every entity in the bundle and
called hasResults() on each, triggering full entity rendering via
generateContentHash(). With 1900 nodes this caused a 504 even with
batch limit=1.

Add getAnalyzedEntityIds() to BatchableAnalyzerInterface so plugins
can report analyzed entity IDs via direct DB queries. Rewrite
getFullyAnalyzedEntityIds() to intersect per-analyzer results without
loading or rendering any entities.

Closes #18
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.

1 participant