我正在请求有关运行并发pysftp
API命令的建议,例如列出目录中的文件并从服务器下载它们。似乎当我测试这个时,所有的请求都被阻塞,直到上一个完成。你知道吗
我将pysftp
与Django一起使用,我不知道如何以一种可以扩展一点的方式来实现这一点,这样我就可以让页面上的多个用户发出请求,而不会阻止他们,直到另一个用户的请求被服务。你知道吗
我试过这样的方法:
class sftp:
def __init__(self):
self.response = HttpResponse()
self.cnopts = pysftp.CnOpts()
self.cnopts.hostkeys = None
def download(self):
with pysftp.Connection('host.exmaple.com', username='user1', password='test_password',
cnopts=self.cnopts) as sftp:
sftp.getfo(
'/var/lib/stuff/file.mp3',
self.response)
self.response['Content-Type'] = 'audio/mp3'
return self.response
在我看来,我可以这样称呼:
return sftp().download()
我的一个项目需要类似的东西。
我编写了一个模块来处理通过SSH在远程服务器上列出和读取文件。
不同之处在于它不是使用
pysftp
,而是使用paramiko
,但我想它应该可以完成这项工作。你知道吗然后您可以使用使用
read_remote_file()
获取的内容将文件下载到Django
应用程序中的一个视图中。你知道吗相关问题 更多 >
编程相关推荐