Skip to content

Conversation

@myhloli
Copy link
Collaborator

@myhloli myhloli commented Feb 2, 2026

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.

Motivation

Please describe the motivation of this PR and the goal you want to achieve through this PR.

Modification

Please briefly describe what modification is made in this PR.

BC-breaking (Optional)

Does the modification introduce changes that break the backward compatibility of the downstream repositories?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.

Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases here and update the documentation.

Checklist

Before PR:

  • Pre-commit or other linting tools are used to fix the potential lint issues.
  • Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
  • The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
  • The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

  • If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects.
  • CLA has been signed and all committers have signed the CLA in this PR.

Copilot AI review requested due to automatic review settings February 2, 2026 11:32
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Feb 2, 2026
@dosubot dosubot bot added the documentation Improvements or additions to documentation label Feb 2, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the PDF rendering timeout mechanism by replacing per-task timeout with a global timeout and adds configurable process count control for PDF rendering operations.

Changes:

  • Refactored timeout handling in load_images_from_pdf() to use wait() with a single global timeout instead of individual future timeouts
  • Added MINERU_PDF_RENDER_THREADS environment variable to control the number of processes used for PDF rendering
  • Implemented explicit process termination logic using signals for better cleanup on timeout or errors

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 14 comments.

File Description
mineru/utils/pdf_image_tools.py Refactored timeout handling to use global timeout with wait(), added configurable threads parameter with environment variable support, and implemented explicit process termination using signals
mineru/utils/os_env_config.py Added get_load_images_threads() function to read the MINERU_PDF_RENDER_THREADS environment variable
docs/zh/usage/cli_tools.md Added documentation for the new MINERU_PDF_RENDER_THREADS environment variable and clarified platform support
docs/en/usage/cli_tools.md Added documentation for the new MINERU_PDF_RENDER_THREADS environment variable and improved wording for existing entries

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@myhloli myhloli merged commit 65b3204 into opendatalab:dev Feb 2, 2026
1 check passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentation Improvements or additions to documentation size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant