Skip to content

add concurrent processing with deadlock workaround and progress bar fixes#813

Merged
furlongm merged 2 commits intomainfrom
concurrent-processing
Apr 25, 2026
Merged

add concurrent processing with deadlock workaround and progress bar fixes#813
furlongm merged 2 commits intomainfrom
concurrent-processing

Conversation

@furlongm
Copy link
Copy Markdown
Owner

  • add run_concurrently() helper with multiprocessing.Pool fallback for python < 3.12 (CPython #105829)
  • add CONCURRENT_PROCESSING and CONCURRENT_WORKERS settings
  • add max_workers param and serial fallback to all errata sources
  • switch osv.dev enrichment to two-phase fetch/parse with connection pooling
  • add exception handling for threadpool futures in enrich_errata
  • switch arch to ThreadPoolExecutor, default serial to avoid rate limiting
  • add null guards for arch errata fetch failures
  • disable tqdm TMonitor thread with monitor_interval = 0
  • add clear_forked_pbar to wrapper functions for forked workers
  • add prefetch_related to alma modules, batch module adds for rocky
  • add mininterval=0.5 to tqdm progress bars
  • move function-level imports to top-level in errata sources

@furlongm furlongm force-pushed the concurrent-processing branch from 35d68e7 to 99ff200 Compare April 22, 2026 04:11
Copy link
Copy Markdown
Contributor

@code-review-doctor code-review-doctor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worth considering though. View full project report here.

Comment thread errata/utils.py
Copy link
Copy Markdown
Contributor

@code-review-doctor code-review-doctor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some things to consider. View full project report here.

Comment thread errata/utils.py
@furlongm furlongm force-pushed the concurrent-processing branch from 021c6fb to 79e74a3 Compare April 23, 2026 03:49
Copy link
Copy Markdown
Contributor

@code-review-doctor code-review-doctor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some food for thought. View full project report here.

Comment thread errata/utils.py
…ixes

- add run_concurrently() helper with multiprocessing.Pool fallback for python < 3.12 (CPython #105829)
- add CONCURRENT_PROCESSING and CONCURRENT_WORKERS settings
- add max_workers param and serial fallback to all errata sources
- switch osv.dev enrichment to two-phase fetch/parse with connection pooling
- add exception handling for threadpool futures in enrich_errata
- switch arch to ThreadPoolExecutor, default serial to avoid rate limiting
- add null guards for arch errata fetch failures
- disable tqdm TMonitor thread with monitor_interval = 0
- add clear_forked_pbar to wrapper functions for forked workers
- add prefetch_related to alma modules, batch module adds for rocky
@furlongm furlongm force-pushed the concurrent-processing branch from 79e74a3 to 1bdb181 Compare April 23, 2026 04:01
Copy link
Copy Markdown
Contributor

@code-review-doctor code-review-doctor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worth considering though. View full project report here.

Comment thread errata/utils.py
@furlongm furlongm merged commit 8751b32 into main Apr 25, 2026
4 checks passed
@furlongm furlongm deleted the concurrent-processing branch April 25, 2026 17:51
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