避免竞争条件

时间:2016-12-02 17:02:18

标签: amazon-s3 conditional-statements

我有一个简单的代码,可以在特定的位置创建文件夹结构。

我正在尝试在每个文件夹中创建和隐藏.okay.dat文件,以便{I}在遇到竞争条件时允许AWS S3成功将所有内容上传到云端。

有人可以建议避免它的最佳方法吗?

#!/usr/bin/python

print 'This script will generate the standard tree structure'

while True:
        import  os
        aw_directory = "/mnt/sdb1/9999_testfolder/"
        for child in os.listdir(aw_directory):
            project_path = os.path.join(aw_directory, child)
            if os.path.isdir(project_path):

#GUARD AGAINST RACE CONDITION TO BE ADDED
#               open('001_DATALAB/.OKAY.dat', 'w').close()
#    except OSError as exc: # Guard against race condition
#       if exc.errno != errno.EEXIST:
#           raise
#with open(okaystudio.dat, "w") as f:
#    f.write("hidden file for AWS3")

                a       = os.path.join(project_path, '001_DATALAB/')
                open('001_DATALAB/OKAYstudio.dat', 'w').close()
                b       = os.path.join(project_path, '001_DATALAB/001_Rushes')

                if not os.path.exists(a):
                    original_umask_a = os.umask(0)
                    os.makedirs(a, mode=0777)
                    os.umask(original_umask_a)
                if not os.path.exists(b):
                    original_umask_b = os.umask(0)
                    os.makedirs(b, mode=0777)
                    os.umask(original_umask_b)

0 个答案:

没有答案