下面是我如何穿线。
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() 的行,并且不会从那里开始打印行。有谁知道为什么?
谢谢。