django-storages / boto / s3缓存问题

时间:2013-05-30 11:23:27

标签: heroku amazon-s3 celery boto django-storage

我在Heroku上运行Django + Celery。 我在后台(Heroku worker)的Celery任务中创建文件,并使用以下方法将图像上传到S3:

def uploadToS3(img, out):    
    out_im  = cStringIO.StringIO()
    img.save(out_im, 'gif') 
    conn = boto.connect_s3()   
    b = conn.get_bucket('mybucket')   
    k = b.new_key(out)   
    k.set_contents_from_string(out_im.getvalue(),{'Content-Type': 'image/gif'})
    k.set_acl('public-read')
    #test
    imageExists = default_storage.exists(out)

    if imageExists:
        print out +  " exists." 
    else:
        print out +  " does not exists."

完美无缺。确实创建了图像。

问题是在创建文件后,在S3 Web控制台和浏览器上也可以看到它(它在那里......) - 运行相同的测试:

    imageExists = default_storage.exists(my_image_path_at_s3)

在另一个进程(Django应用程序) - 返回false。

仅重启Django应用程序导致它在s3识别新文件。

这似乎是缓存,但我没有设法找到它的位置......

任何提示?

0 个答案:

没有答案