amarkhai / parallel-downloader-bundle
用于并发下载文件的包
v0.1
2022-01-14 18:40 UTC
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.4
- symfony/config: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/http-kernel: ^6.0
This package is auto-updated.
Last update: 2024-09-15 00:41:58 UTC
README
安装
composer require amarkhai/parallel-downloader-bundle
用法
要下载,请使用方法 "download",传递一个 <string, string> 数组,其中值是您需要下载的文件的链接,键是用于保存文件的名称
public function __construct(DownloadManager $downloadManager) { $this->downloadManager = $downloadManager; } public function foo() { $this->downloadManager->download([ 'filename1' => 'https://mysite.com/test1.png', 'filename2' => 'https://mysite.com/test2.png', 'filename3' => 'https://mysite.com/test3.png', ]); }
附加参数
download 方法有 2 个附加参数
- subFolder - 下载文件夹内(见下文)的文件夹名称,其中列表中的文件将被保存
- options - 应用到每个请求的 Guzzle 请求选项数组。
配置
可以在配置文件中更改一些参数
- 文件保存文件夹
- 下载失败后的重试次数
- 并发发送的最大请求数量
以下是这些参数的默认值
# config/packages/amarkhai_parallel_downloader.yaml parameters: amarkhai_parallel_downloader.download_files_folder: '%kernel.project_dir%/var/downloads' amarkhai_parallel_downloader.download_retry: 3 amarkhai_parallel_downloader.download_concurrency: 10