Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过python线程上传到Amazon S3_Python_Multithreading - Fatal编程技术网

无法通过python线程上传到Amazon S3

无法通过python线程上传到Amazon S3,python,multithreading,Python,Multithreading,我是这样穿的 t = Thread(target=s3_upload, args=(absolute_write_path,raw_unique_key)) t.start() 这是在线程中调用的函数 def s3_upload(file_path,key): conn = S3.AWSAuthConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) #check if bucket exists, if not cr8 it

我是这样穿的

t = Thread(target=s3_upload, args=(absolute_write_path,raw_unique_key))
t.start()
这是在线程中调用的函数

def s3_upload(file_path,key):
    conn = S3.AWSAuthConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)

    #check if bucket exists, if not cr8 it
    if S3_BUCKET_CHECK:
        if not conn.check_bucket_exists(S3_BUCKET_NAME).status == 200:
            conn.create_located_bucket(S3_BUCKET_NAME, S3_LOCATION)

    orig_file = open(file_path, "r")
    obj = S3Object(orig_file.read())
    conn.put(S3_BUCKET_NAME, key, obj)
    os.remove(file_path)
如果我不在线程中运行它,它似乎可以工作。但如果我在线程中运行,它会一直运行到我执行conn.put()的行,并且它不会从那里开始打印行。有人知道为什么吗


谢谢。

好的,解决了。问题是flask的def守护进程值为True。将其更改为false(我假设是def),现在它可以工作:)

为什么不检查返回值?确定解决了它。问题是flask的def守护进程值为True。将其更改为false(我假设是def),现在它可以工作了:)