Skip to content

Add configurable parallel downloads#25

Open
nittanygeek wants to merge 3 commits into
RobXYZ:mainfrom
nittanygeek:parallel-downloads
Open

Add configurable parallel downloads#25
nittanygeek wants to merge 3 commits into
RobXYZ:mainfrom
nittanygeek:parallel-downloads

Conversation

@nittanygeek

Copy link
Copy Markdown

Summary

  • add a configurable DOWNLOAD_CONCURRENCY setting for 1-4 simultaneous downloads
  • change the sync worker from fixed batches to a rolling pool so slots refill as soon as a file finishes
  • update live progress/session tracking so multiple active downloads render separately and ETA/speed stay sane

Testing

  • PYTHONPATH=. .venv311/bin/python -m pytest tests/test_queue_ro_only.py tests/test_settings_schema.py tests/test_settings_api.py tests/test_sync_worker_cancel.py tests/test_sync_worker_enospc.py tests/test_sync_worker_concurrency.py tests/test_hub.py tests/test_hub_session_stats.py tests/test_download_session.py
  • node --check web/static/app.js

Also tested manually against a Viofo dashcam with DOWNLOAD_CONCURRENCY=4, confirming four active downloads and continuous slot refilling.

image

@RobXYZ

RobXYZ commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Thanks for the PR. Do you find this makes a noticeable speed increase for your downloads? I’m not seeing much difference on my A229 Pro which struggles with multiple connections. I often get the "slow card" message and I am wondering about the performance/thermal impact on the camera.

@nittanygeek

Copy link
Copy Markdown
Author

I think it really depends on the network. My A119 mini 2 seems to handle it without too much of a problem, but it's inherently slow because of the 2.4 GHz connection from where my vehicle parks in the garage. Honestly not sure if it improves the overall download speed. Maybe at the least, it's satisfying to know that a single file can't hold the whole queue hostage, lol. Perception is reality at times.

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