1

さて、私は現在、Pythonスクリプトを使用して、複数のファイルを特定のサーバーに一度にアップロードしています。

Pythonバージョン2.7.3を実行しています。

def upload(t):
    server="server"
    user="user"
    password="password"
    service="service"
    ftp=ftplib.FTP(server)
    ftp.login(user=user,passwd=password,acct="")
    ftp.storbinary("STOR "+t.split('/')[-1], open(t,"rb"))
    print "{} has been uploaded to {}".format(t.split("/")[-1],service)
def ftp_upload(t=files):
    server="server"
    user="user"
    password="password"
    service="service"
    ftp.login(user=user,passwd=password,acct="")
    pool=multiprocessing.Pool(processes=4)
    pool.map(upload,t)

ただし、ソケットのタイムアウトなどが発生するとエラーメッセージが表示されます(ftpコンソールコマンドを使用しただけでは発生しません)。

サブプロセスは何か違うことをしているようですか?私はそれを監視することさえ特に気にしません。実際、サーバーへの接続が混乱した場合でも、プロセスが終了しないようにしたいと思います。どんな報告も肉汁です。

エラーメッセージ:

 File "/usr/bin/jat", line 301, in ftp_upload
    pool.map(upload,files_to_upload)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 227, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 528, in get
    raise self._value
socket.timeout: timed out
4

1 に答える 1