Многопоточный загрузчик файлов на golang. Получает на вход файл со списком ссылок, запускает указанное кол-во потоков и скачивает файлы. Если не удалось скачать файл с первого раза, скрипт будет пробовать еще.
const (
streams int = 30 // максимальное кол-во потоков
file string = "files.txt" // файл в котором хранятся ссылки
path string = "/Users/me/Downloads/" // папка куда сохранять файлы
attempts int = 10 // кол-во попыток скачать
)
- Каждая ссылка с новой строки
- Формат ссылки https://google.com/file.txt
- Too many open files in system на macos
Решение: Увеличить лимиты
sysctl -w kern.maxfiles=40960
sysctl -w kern.maxfilesperproc=20000