【发布时间】:2019-01-03 23:06:36
【问题描述】:
我正在请求有关运行并发pysftp API 命令的建议,例如列出目录中的文件并从服务器下载它们。似乎当我测试这个时,所有请求都被阻止,直到前一个完成。
我在 Django 中使用pysftp,但我不确定如何以一种可以稍微扩展的方式实现这一点,这样我就可以让页面上的多个用户发出请求而不会被阻止,直到另一个用户请求已送达。
我尝试过这样的事情:
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()
【问题讨论】: