データベースからデータファイルを継続的に生成し、それを別の場所にFTPで転送します。このフォルダを継続的に監視するポーラーがあり、ファイルを確認するとすぐにFTPでファイルを送信します。
現在、このプロセスはシーケンシャルであり、ファイルが大きくなるとバックアップが発生し、大幅な遅延が発生します。並行して処理したい、つまり一度に複数のファイルをFTPで処理したい。スレッド化/マルチプロセッシングと、これがどのように機能するかについてはよくわかりません。
これが私のコードです
import ftplib
ftp = ftplib.FTP('domainname.com')
ftp.login("username","password")
infiles = [file1,file2,file3.....filen]
for x in infiles:
f = open(x,'rb')
ftp.storbinary('STOR %s' %x, f)
f.close()
ftp.quit()
これはI/Oを集中的に使用するため、マルチプロセッシングが進むべき道であり、どのように進めるかについてのアイデアがあると思います。