我在这个问题上挣扎了一段时间。我正在使用 sftp 适配器连接到我经常读/写文件的另一台服务器。
对于缩略图创建,我使用 laravel Horizon 的后台作业从远程 sftp 服务器检索 pdf 内容,然后生成 jpg 并放置在本地文件系统中。
对于第一次设置,我需要制作大约 150k 的缩略图。当我在 Horizon 中使用大量进程时,远程服务器无法处理这个数量的连接。
我现在必须限制最多 2 个进程(10 秒~ * 150k~)不是最佳的。
我想缓存连接,因为我知道这是可能的并且可能解决了我的问题,但无法让它工作:(
我能找到的唯一参考/教程/示例/文档是
https://medium.com/@poweredlocal/caching-s3-metadata-requests-in-laravel-bb2b651f18f3 https://flysystem.thephpleague.com/docs/advanced/caching/
当我像这样使用示例中的代码时:
Storage::extend('sftp-cached', function ($app, $config) {
$adapter = $app['filesystem']->createSftpAdapter($config);
$store = new Memory();
return new Filesystem(new CachedAdapter($adapter->getDriver()->getAdapter(), $store));
});
我收到错误:不支持驱动程序 []。
这里有没有人可以在这方面进一步帮助我?